2007年11月21日
日本標準時表示スクリプト(リンデンスクリプト Tips)
JST(日本標準時)を表示するスクリプトです。 YYYY-MM-DD hh:mm:ssフォーマットでJSTを表示します。 いままで時刻計算は、関数にお任せしてたので、自分でつくると閏年とかあって ちょっと面倒w。![]()
<スクリプト内容> string getJST () { string DateUTC = llGetDate(); integer JSThour; string DateToday = ""; string timeToday = ""; integer year = (integer)llGetSubString(DateUTC, 0, 3); integer month = (integer)llGetSubString(DateUTC, 5, 6); integer day = (integer)llGetSubString(DateUTC, 8, 9); integer now =(integer)llGetGMTclock(); integer GMThour=now / 3600; integer minute=(now % 3600) / 60; integer second=now % 60; if (GMThour>=0 && GMThour<=14) { JSThour=GMThour+9; } else { JSThour=GMThour-15; if (day == 31) { if (month == 12) { year = year + 1; month = 1; } else { month = month + 1; } day = 1; } else if (day==30 && (month == 4 || month == 6 || month == 9 || month == 11)) { month = month + 1; day = 1; } else if (month==2) { if (!(year%400) || (year%100 && !(year%4))) { if (day==29) { month = month + 1; day = 1; } else { day = day+1; } } else { if (day==28) { month = month + 1; day = 1; } else { day = day+1; } } } else { day = day+1; } } if(month < 10) { DateToday = "0"; } DateToday+=(string)month + "-"; if(day < 10) { DateToday += "0"; } DateToday+=(string)day; if(JSThour < 10) { timeToday = "0"; } timeToday+=(string)JSThour + ":"; if(minute < 10) { timeToday += "0"; } timeToday+=(string)minute + ":"; if(second < 10) { timeToday += "0"; } timeToday+=(string)second; return (string)year + "-" + DateToday + " " + timeToday; } default { state_entry() { llSetTimerEvent(1.0); } on_rez(integer int) { llResetScript(); } timer(){ string ms = "JST(Japan Standard Time)\n" + getJST(); llSetText(ms, <0.0, 1.0, 0.0>, 1.0); } } [参考] リンデンスクリプトTips No.42 標準時間表示スクリプト リンデンスクリプト Tips Intexへ
サウンド再生スクリプト(リンデンスクリプト Tips)
カメラコントロール(リンデンスクリプト Tips)
標準時間表示スクリプト(リンデンスクリプト Tips)
プリムカウンター2(リンデンスクリプト Tips)
土地情報チェッカー(リンデンスクリプト Tips)
SIM負荷チェッカー(リンデンスクリプト Tips)
Posted by Zero2000 Kidd at 19:55│Comments(0)
│リンデンスクリプトTips