Clock

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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);
    }
}