Difference between revisions of "LlGetGMTclock/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{LSL_Function/ja
{{LSL_Function/ja
|func_id=282|func_sleep=0.0|func_energy=10.0
|func_id=282|func_sleep=0.0|func_energy=10.0
|func=llGetGMTclock|return_type=float
|func=llGetGMTclock
|func_footnote=SL時間はカリフォルニア時間と同じため、[[llGetWallclock/ja|llGetWallclock]]を使います。
|func_footnote=SL 時間、カリフォルニア時間と同じ時間を取得するには、{{LSLG/ja|llGetWallclock}} を使用します。
|func_desc
|func_desc=GMT の午前零時からの経過時間を秒数で返します。値は秒に切り捨てられているようです。
|return_text_jaOptionAfter=ミリ秒で正確に表します。
|return_text=GMT午前0時から経過した秒数
|spec
|spec
|caveats
|caveats
|constants
|constants
|examples=
|examples=
<lsl>
<source lang="lsl2">
//--// GMT function with local offsets in 12hr format //--//
//--// ローカルオフセットを 12 時間表記で表示する GMT 関数 //--//
   
   
integer gIntMinute = 60;    //-- 1 minute in seconds
integer gIntMinute = 60;    //-- 1 分の秒表記
integer gIntHour  = 3600;  //-- 1 hour in seconds
integer gIntHour  = 3600;  //-- 1 時間の秒表記
integer gInt12Hr  = 43200; //-- 12hrs in seconds
integer gInt12Hr  = 43200; //-- 12 時間の秒表記
integer gIntDay    = 86400; //-- 1 day in seconds
integer gIntDay    = 86400; //-- 1 日の秒表記
   
   
string fStrGMTwOffset( integer vIntLocalOffset ){
string fStrGMTwOffset( integer vIntLocalOffset ){
   //-- get the correct time in seconds for the given offset
   //-- 指定されたオフセットの正確な時間をミリ秒で取得します
   integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
   integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
   string vStrReturn;
   string vStrReturn;
   
   
   //-- store morning or night and reduce to 12hour format if needed
   //-- 朝か夜かを書く雄牛、必要であれば 12 時間の表記にします
   if (vIntBaseTime < gInt12Hr){
   if (vIntBaseTime < gInt12Hr){
     vStrReturn = " AM";
     vStrReturn = " AM";
Line 31: Line 29:
   }
   }
   
   
   //-- get and format minutes
   //-- フォーマットされた分表記を取得します
   integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
   integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
   vStrReturn = (string)vIntMinutes + vStrReturn;
   vStrReturn = (string)vIntMinutes + vStrReturn;
Line 38: Line 36:
   }
   }
   
   
   //-- add in the correct hour, force 0 to 12
   //-- 正確な時間を足します。0 は 12 にします
   if (vIntBaseTime < gIntHour){
   if (vIntBaseTime < gIntHour){
     vStrReturn = "12:" + vStrReturn;
     vStrReturn = "12:" + vStrReturn;
Line 49: Line 47:
default{
default{
   touch_start( integer vIntTouched ){
   touch_start( integer vIntTouched ){
     //-- '-8' is california time, no adjustment for DST
     //-- '-8' はカリフォルニア時間で、DST の補正は含まれていません
     llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) );
     llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) );
   }
   }
}
}
</lsl>
</source>
<lsl>
<source lang="lsl2">
// Gets the number of milliseconds since midnight UTC.
// UTC の午前零時からのミリ秒を取得します
integer GetGMTmsclock()
integer GetGMTmsclock()
{
{
Line 64: Line 62:
         llRound((float) llGetSubString(stamp, 17, -2) * 1000.0);
         llRound((float) llGetSubString(stamp, 17, -2) * 1000.0);
}
}
</lsl>
</source>
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llGetWallclock/ja|llGetWallclock]]|PST午前0時からの経過秒数}}
{{LSL DefineRow||{{LSLG/ja|llGetWallclock}}|PST の午前零時からの秒数}}
|also_events
|also_events
|also_tests
|also_tests
Line 74: Line 72:
|permission
|permission
|negative_index
|negative_index
|cat1=Time/ja
|cat1=Time
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 14:46, 25 February 2016

要約

関数: 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の関連した項目が参考になるかもしれません。