LlGetGMTclock/ja

From Second Life Wiki
Jump to: navigation, search

要約

関数: 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 の午前零時からの秒数

特記事項

Search JIRA for related Issues

Signature

function void llGetGMTclock();
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。