Difference between revisions of "LlGetDate/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (Undo revision 851272 by Mako Nozaki (Talk)) |
Mako Nozaki (talk | contribs) |
||
Line 1: | Line 1: | ||
{{LSL_Function/ja | {{LSL_Function/ja | ||
|func_id=204|func_sleep=0.0|func_energy=10.0 | |func_id=204|func_sleep=0.0|func_energy=10.0 | ||
|func=llGetDate|sort=GetDate | |func=llGetDate|sort=GetDate | ||
|func_footnote=時間を"YYYY-MM-DDThh:mm:ss.ff..fZ"の形式で知りたい場合は[[llGetTimestamp/ja|llGetTimestamp]]を使います。 | |func_footnote=時間を "YYYY-MM-DDThh:mm:ss.ff..fZ" の形式で知りたい場合は [[llGetTimestamp/ja|llGetTimestamp]] を使います。 | ||
|func_desc | |func_desc=UTC タイムゾーンでの現在の日付を "YYYY-MM-DD" 形式で返します。 | ||
|spec | |spec | ||
|caveats | |caveats | ||
|constants | |constants | ||
|examples=<lsl> | |examples=<lsl>// 誕生日サプライズ | ||
// | |||
default | default | ||
{ | { | ||
Line 19: | Line 17: | ||
timer() | timer() | ||
{ | { | ||
if(llGetDate() == " | if(llGetDate() == "2009-02-15") | ||
llSetText("HAPPY BIRTHDAY!", <0,1,0>, 1.0); | llSetText("HAPPY BIRTHDAY!", <0,1,0>, 1.0); | ||
else | else | ||
llSetText("A surprise is | llSetText("A surprise is coming...", <0,1,0>, 1.0); | ||
llSetTimerEvent(3600); // | llSetTimerEvent(3600.0); // 毎時間チェックを行う | ||
} | } | ||
}</lsl> | |||
<lsl>// 通日を計算する関数 | |||
integer dayOfYear(integer year, integer month, integer day) | |||
{ | |||
return day + (month - 1) * 30 + (((month > 8) + month) / 2) | |||
- ((1 + (((!(year % 4)) ^ (!(year % 100)) ^ (!(year % 400))) | (year <= 1582))) && (month > 2)); | |||
} | } | ||
</lsl> | |||
|helpers | default | ||
|also_functions={{LSL DefineRow|| | { | ||
touch_end(integer count) | |||
{ | |||
list dateComponents = llParseString2List(llGetDate(), ["-"], []); | |||
integer year = (integer) llList2String(dateComponents, 0); | |||
integer month = (integer) llList2String(dateComponents, 1); | |||
integer day = (integer) llList2String(dateComponents, 2); | |||
llSay(0, "The current day of the year is " + (string) dayOfYear(year, month, day)); | |||
} | |||
}</lsl> | |||
<lsl>// うるう年かどうか計算する関数 | |||
integer is_leap_year( integer year ) | |||
{ | |||
if( year % 4 ) return FALSE; // 何があってもうるう年ではない | |||
if( year <= 1582 ) return TRUE; // ユリウス暦で 1582 年 2 月 24 日より前は、全ての 4 の倍数の年はうるう年であった | |||
if( !( year % 400 )) return TRUE; // 閏世紀 は 400 で割り切れるうるう年 | |||
if( !( year % 100 )) return FALSE; // 2 世紀に 1 回はうるう年でない | |||
return TRUE; // 4 で割り切れて世紀の区切りでなくユリウス暦でない場合、うるう年 | |||
}</lsl> | |||
|helpers= | |||
=== ヘルパー関数 === | |||
* [[User:Void_Singer/Functions#List_format_to_Unix_time_code.|Timestamp: list format to Unix timestamp]] - ex: [2009, 2, 13, 3, 31, 30] to 1234567890 | |||
** {{LSLG/ja|llParseString2List}}( {{LSLG/ja|llGetDate}}(), ["-"], [] ) (指定された日の最初の秒として表示される) と互換です | |||
* [[User:Void_Singer/Functions#Weekday_from_.28_Y.2C_M.2C_D_.29_format|Timestamp: Weekday from (Y, M, D)]] - ex: "Friday" from (Y, M, D) | |||
|also_functions={{LSL DefineRow||{{LSLG/ja|llGetTimestamp}}|同じフォーマットですが、時刻も含みます}} | |||
|also_events | |also_events | ||
|also_tests | |also_tests | ||
|also_articles={{LSL DefineRow||[http://www.cl.cam.ac.uk/~mgk25/iso-time.html ISO 8601]|}} | |also_articles={{LSL DefineRow||[http://www.cl.cam.ac.uk/~mgk25/iso-time.html ISO 8601]|}} | ||
|notes | |notes | ||
|cat1=Time | |cat1=Time | ||
|cat2 | |cat2 |
Revision as of 06:11, 3 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llGetDate( );UTC タイムゾーンでの現在の日付を "YYYY-MM-DD" 形式で返します。
時間を "YYYY-MM-DDThh:mm:ss.ff..fZ" の形式で知りたい場合は llGetTimestamp を使います。
サンプル
<lsl>// 誕生日サプライズ default {
state_entry() { llSetTimerEvent(0.1); }
timer() { if(llGetDate() == "2009-02-15") llSetText("HAPPY BIRTHDAY!", <0,1,0>, 1.0); else llSetText("A surprise is coming...", <0,1,0>, 1.0); llSetTimerEvent(3600.0); // 毎時間チェックを行う }
}</lsl> <lsl>// 通日を計算する関数 integer dayOfYear(integer year, integer month, integer day) {
return day + (month - 1) * 30 + (((month > 8) + month) / 2)- ((1 + (((!(year % 4)) ^ (!(year % 100)) ^ (!(year % 400)))
便利なスニペット
ヘルパー関数
- Timestamp: list format to Unix timestamp - ex: [2009, 2, 13, 3, 31, 30] to 1234567890
- llParseString2List( llGetDate(), ["-"], [] ) (指定された日の最初の秒として表示される) と互換です
- Timestamp: Weekday from (Y, M, D) - ex: "Friday" from (Y, M, D)
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。