Difference between revisions of "LlGetGMTclock"
Jump to navigation
Jump to search
m |
Void Singer (talk | contribs) m (added example) |
||
Line 9: | Line 9: | ||
|constants | |constants | ||
|examples= | |examples= | ||
< | <lsl> | ||
//--// 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 fStrGMYwOffset( 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 ) ); | |||
} | |||
} | |||
</lsl> | |||
<lsl> | |||
// Gets the number of milliseconds since midnight UTC. | // Gets the number of milliseconds since midnight UTC. | ||
integer GetGMTmsclock() | integer GetGMTmsclock() | ||
Line 19: | Line 63: | ||
llRound((float) llGetSubString(stamp, 17, -2) * 1000.0); | llRound((float) llGetSubString(stamp, 17, -2) * 1000.0); | ||
} | } | ||
</ | </lsl> | ||
|helpers | |helpers | ||
|also_functions= | |also_functions= |
Revision as of 19:24, 18 February 2008
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: float llGetGMTclock( );282 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a float that is the time in seconds since midnight GMT. Seems to be accurate to the millisecond.
For SL time, which is the same as California time, use llGetWallclock
Caveats
Examples
<lsl> //--// 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 fStrGMYwOffset( 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 ) ); }
} </lsl> <lsl> // 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);
}
</lsl>See Also
Functions
• | llGetWallclock | – | Seconds since midnight PST |