Difference between revisions of "Clock"
Jump to navigation
Jump to search
m (lsl code tagging) |
m (<lsl> tag to <source>) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{LSL Header}} | {{LSL Header|ml=*}} | ||
===== | =====Show the current SL time (PST/PDT)===== | ||
< | <source lang="lsl2"> | ||
//Simple clock | // Simple SLT 12-hour clock with AM/PM and PDT/PST indicators. Uses llGetWallClock() and llGetGMTclock() | ||
// Omei Qunhua | |||
default | default | ||
Line 13: | Line 10: | ||
state_entry() | state_entry() | ||
{ | { | ||
integer | llSetTimerEvent(1); | ||
} | |||
timer() | |||
{ | |||
integer sltSecs = (integer) llGetWallclock(); // Get SL time in seconds (will be either PST or PDT) | |||
integer diff = (integer) llGetGMTclock() - sltSecs; // Compute the difference between UTC and SLT | |||
string PST_PDT = " PST"; // Assume Pacific Standard Time | |||
// If the difference between SLT and UTC is 7 hours or -17 hours, then SLT is currently PDT | |||
if (diff == 25200 || diff == -61200) | |||
PST_PDT = " PDT"; // Pacific Daylight Time | |||
integer Mins = sltSecs / 60; | |||
integer Hours = Mins / 60; | |||
Mins = Mins % 60; | |||
string AMPM = " AM"; | |||
if (Hours > 11) // Convert to 12-hour format with PM indication | |||
if( | |||
{ | { | ||
AMPM = " PM"; | |||
Hours -= 12; | |||
} | } | ||
if (Hours == 0) | |||
Hours = 12; | |||
llSetText( (string) Hours + ":" + llGetSubString("0" + (string) Mins, -2, -1) + AMPM + PST_PDT, <1,1,1> ,1); | |||
} | } | ||
} | } | ||
</ | </source> | ||
[[Category:LSL Examples]] | [[Category:LSL Examples]] |
Latest revision as of 13:16, 24 January 2015
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Show the current SL time (PST/PDT)
// Simple SLT 12-hour clock with AM/PM and PDT/PST indicators. Uses llGetWallClock() and llGetGMTclock()
// Omei Qunhua
default
{
state_entry()
{
llSetTimerEvent(1);
}
timer()
{
integer sltSecs = (integer) llGetWallclock(); // Get SL time in seconds (will be either PST or PDT)
integer diff = (integer) llGetGMTclock() - sltSecs; // Compute the difference between UTC and SLT
string PST_PDT = " PST"; // Assume Pacific Standard Time
// If the difference between SLT and UTC is 7 hours or -17 hours, then SLT is currently PDT
if (diff == 25200 || diff == -61200)
PST_PDT = " PDT"; // Pacific Daylight Time
integer Mins = sltSecs / 60;
integer Hours = Mins / 60;
Mins = Mins % 60;
string AMPM = " AM";
if (Hours > 11) // Convert to 12-hour format with PM indication
{
AMPM = " PM";
Hours -= 12;
}
if (Hours == 0)
Hours = 12;
llSetText( (string) Hours + ":" + llGetSubString("0" + (string) Mins, -2, -1) + AMPM + PST_PDT, <1,1,1> ,1);
}
}