“LlGetGMTclock”的版本间的差异
(清空页面) (1个标签:清空) |
|||
第1行: | 第1行: | ||
+ | {{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} | ||
+ | |||
+ | {{函数详情 | ||
+ | |函数名 = Function: float llGetGMTclock( ) | ||
+ | |参数= 参数: | ||
+ | |返回值= 返回值:返回一个浮点数,以秒为单位表示从格林尼治时间午夜开始的时间。值似乎被截断为秒。 | ||
+ | |||
+ | |注意事项= | ||
+ | 注意事项 | ||
+ | |||
+ | |||
+ | |示例= | ||
+ | <pre> | ||
+ | //--// GMT function with local offsets in 12hr format //--// | ||
+ | |||
+ | integer gIntMinute = 60; //-- 1 minute in seconds | ||
+ | integer gIntHour = 3600; //-- 1 hour in seconds | ||
+ | integer gInt12Hr = 43200; //-- 12hrs in seconds | ||
+ | integer gIntDay = 86400; //-- 1 day in seconds | ||
+ | |||
+ | string fStrGMTwOffset( integer vIntLocalOffset ){ | ||
+ | //-- get the correct time in seconds for the given offset | ||
+ | integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay; | ||
+ | string vStrReturn; | ||
+ | |||
+ | //-- store morning or night and reduce to 12hour format if needed | ||
+ | if (vIntBaseTime < gInt12Hr){ | ||
+ | vStrReturn = " AM"; | ||
+ | }else{ | ||
+ | vStrReturn = " PM"; | ||
+ | vIntBaseTime = vIntBaseTime % gInt12Hr; | ||
+ | } | ||
+ | |||
+ | //-- get and format minutes | ||
+ | integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute; | ||
+ | vStrReturn = (string)vIntMinutes + vStrReturn; | ||
+ | if (10 > vIntMinutes){ | ||
+ | vStrReturn = "0" + vStrReturn; | ||
+ | } | ||
+ | |||
+ | //-- add in the correct hour, force 0 to 12 | ||
+ | if (vIntBaseTime < gIntHour){ | ||
+ | vStrReturn = "12:" + vStrReturn; | ||
+ | }else{ | ||
+ | vStrReturn = (string)(vIntBaseTime / gIntHour) + ":" + vStrReturn; | ||
+ | } | ||
+ | return vStrReturn; | ||
+ | } | ||
+ | |||
+ | default{ | ||
+ | touch_start( integer vIntTouched ){ | ||
+ | //-- '-8' is california time, no adjustment for DST | ||
+ | llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) ); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | <pre> | ||
+ | // Gets the number of milliseconds since midnight 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); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | |相关函数= | ||
+ | [[llGetWallclock]]–从午夜SLT(即PST或PDT)开始的秒数 | ||
+ | |||
+ | |相关事件= | ||
+ | |||
+ | |||
+ | }} |
2021年1月25日 (一) 07:53的最新版本
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: float llGetGMTclock( ) |
参数: |
返回值:返回一个浮点数,以秒为单位表示从格林尼治时间午夜开始的时间。值似乎被截断为秒。 |
注意事项 |
---|
注意事项 |
示例 |
---|
//--// GMT function with local offsets in 12hr format //--// integer gIntMinute = 60; //-- 1 minute in seconds integer gIntHour = 3600; //-- 1 hour in seconds integer gInt12Hr = 43200; //-- 12hrs in seconds integer gIntDay = 86400; //-- 1 day in seconds string fStrGMTwOffset( integer vIntLocalOffset ){ //-- get the correct time in seconds for the given offset integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay; string vStrReturn; //-- store morning or night and reduce to 12hour format if needed if (vIntBaseTime < gInt12Hr){ vStrReturn = " AM"; }else{ vStrReturn = " PM"; vIntBaseTime = vIntBaseTime % gInt12Hr; } //-- get and format minutes integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute; vStrReturn = (string)vIntMinutes + vStrReturn; if (10 > vIntMinutes){ vStrReturn = "0" + vStrReturn; } //-- add in the correct hour, force 0 to 12 if (vIntBaseTime < gIntHour){ vStrReturn = "12:" + vStrReturn; }else{ vStrReturn = (string)(vIntBaseTime / gIntHour) + ":" + vStrReturn; } return vStrReturn; } default{ touch_start( integer vIntTouched ){ //-- '-8' is california time, no adjustment for DST llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) ); } } // Gets the number of milliseconds since midnight 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–从午夜SLT(即PST或PDT)开始的秒数 |
相关事件 |
---|