Difference between revisions of "LlGetWallclock"
Jump to navigation
Jump to search
m (added an example of converting seconds to an HH:MM:SS string) |
|||
Line 47: | Line 47: | ||
} | } | ||
}</lsl> | }</lsl> | ||
<lsl>// Convert to human-readable HH:MM:SS format | |||
string ConvertWallclockToTime (float now) | |||
{ | |||
integer iNow = (integer) now; | |||
integer seconds = iNow % 60; | |||
integer minutes = ((iNow - seconds) % 3600) / 60; | |||
integer hours = (iNow - minutes - seconds) / 3600; | |||
string result = (string) seconds; | |||
if (seconds < 10) | |||
result = "0" + result; | |||
result = (string)minutes + ":" + result; | |||
if (minutes < 10) | |||
result = "0" + result; | |||
result = (string)hours + ":" + result; | |||
if (hours< 10) | |||
result = "0" + result; | |||
return result; | |||
} | |||
default | |||
{ | |||
touch_start(integer total_number) | |||
{ | |||
ConvertWallclockToTime(llGetWallclock()); | |||
} | |||
} | |||
</lsl> | |||
|helpers | |helpers | ||
|also_functions= | |also_functions= |
Revision as of 02:56, 10 July 2010
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: float llGetWallclock( );81 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a float that is the time in seconds since midnight Pacific time (PST/PDT), truncated to whole seconds.
For GMT use llGetGMTclock
Caveats
Examples
<lsl>// Real World Sun integer set;
default {
state_entry() { llSetTimerEvent(0.1); set = -1; } timer() { float time = llGetWallclock(); if(set == -1) llSetTimerEvent(60.0); if(time < 21600) { if(set) { llSetText("The Sun is coming! :)", <1,1,0>, 1.0); set = 0; } } else if(time < 64800) { if(set != 1) { llSetText("Sun has risen. :(", <1,0,0>, 1.0); set = 1; } } else if(set != 2) { llSetText("Goodbye Sun. :(", <1,0,0>, 1.0); set = 2; } }
}</lsl>
<lsl>// Convert to human-readable HH:MM:SS format string ConvertWallclockToTime (float now) {
integer iNow = (integer) now; integer seconds = iNow % 60; integer minutes = ((iNow - seconds) % 3600) / 60; integer hours = (iNow - minutes - seconds) / 3600; string result = (string) seconds; if (seconds < 10) result = "0" + result; result = (string)minutes + ":" + result; if (minutes < 10) result = "0" + result; result = (string)hours + ":" + result; if (hours< 10) result = "0" + result; return result;
}
default {
touch_start(integer total_number) { ConvertWallclockToTime(llGetWallclock()); }
}
</lsl>See Also
Functions
• | llGetGMTclock | – | Seconds since midnight GMT |