Difference between revisions of "LlGetGMTclock/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) |
|||
Line 8: | Line 8: | ||
|constants | |constants | ||
|examples= | |examples= | ||
< | <source lang="lsl2"> | ||
//--// ローカルオフセットを 12 時間表記で表示する GMT 関数 //--// | //--// ローカルオフセットを 12 時間表記で表示する GMT 関数 //--// | ||
Line 51: | Line 51: | ||
} | } | ||
} | } | ||
</ | </source> | ||
< | <source lang="lsl2"> | ||
// UTC の午前零時からのミリ秒を取得します | // UTC の午前零時からのミリ秒を取得します | ||
integer GetGMTmsclock() | integer GetGMTmsclock() | ||
Line 62: | Line 62: | ||
llRound((float) llGetSubString(stamp, 17, -2) * 1000.0); | llRound((float) llGetSubString(stamp, 17, -2) * 1000.0); | ||
} | } | ||
</ | </source> | ||
|helpers | |helpers | ||
|also_functions= | |also_functions= |
Latest revision as of 14:46, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llGetGMTclock( );GMT の午前零時からの経過時間を秒数で返します。値は秒に切り捨てられているようです。
SL 時間、カリフォルニア時間と同じ時間を取得するには、llGetWallclock を使用します。
サンプル
//--// ローカルオフセットを 12 時間表記で表示する GMT 関数 //--//
integer gIntMinute = 60; //-- 1 分の秒表記
integer gIntHour = 3600; //-- 1 時間の秒表記
integer gInt12Hr = 43200; //-- 12 時間の秒表記
integer gIntDay = 86400; //-- 1 日の秒表記
string fStrGMTwOffset( integer vIntLocalOffset ){
//-- 指定されたオフセットの正確な時間をミリ秒で取得します
integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
string vStrReturn;
//-- 朝か夜かを書く雄牛、必要であれば 12 時間の表記にします
if (vIntBaseTime < gInt12Hr){
vStrReturn = " AM";
}else{
vStrReturn = " PM";
vIntBaseTime = vIntBaseTime % gInt12Hr;
}
//-- フォーマットされた分表記を取得します
integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
vStrReturn = (string)vIntMinutes + vStrReturn;
if (10 > vIntMinutes){
vStrReturn = "0" + vStrReturn;
}
//-- 正確な時間を足します。0 は 12 にします
if (vIntBaseTime < gIntHour){
vStrReturn = "12:" + vStrReturn;
}else{
vStrReturn = (string)(vIntBaseTime / gIntHour) + ":" + vStrReturn;
}
return vStrReturn;
}
default{
touch_start( integer vIntTouched ){
//-- '-8' はカリフォルニア時間で、DST の補正は含まれていません
llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) );
}
}
// UTC の午前零時からのミリ秒を取得します
integer GetGMTmsclock()
{
string stamp = llGetTimestamp();
return
(integer) llGetSubString(stamp, 11, 12) * 3600000 +
(integer) llGetSubString(stamp, 14, 15) * 60000 +
llRound((float) llGetSubString(stamp, 17, -2) * 1000.0);
}
関連項目
関数
• | llGetWallclock | – | PST の午前零時からの秒数 |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。