Difference between revisions of "LlGetWallclock"

From Second Life Wiki
Jump to navigation Jump to search
(simplify hhmmss calculation (see discussion for details))
m (Add some hopefully helpful comments)
Line 4: Line 4:
|func_footnote=For GMT use [[llGetGMTclock]]
|func_footnote=For GMT use [[llGetGMTclock]]
|func_desc
|func_desc
|return_text=that is the time in seconds since midnight Pacific time (PST/PDT), truncated to whole seconds.
|return_text=that is the time in seconds since midnight Pacific time (PST/PDT), truncated to whole seconds. That is the same as the time of day in SLT expressed as seconds.
|spec
|spec
|caveats
|caveats
Line 77: Line 77:
|also_tests
|also_tests
|also_articles
|also_articles
|notes
|notes=To determine if the current time returned by this function is PST or PDT, you can look at the difference between the times returned by llGetWallclock() and llGetGMTclock(). The difference will be 8 hours for PST, and 7 hours for PDT, that is 28800 or 25200 seconds.
|permission
|permission
|negative_index
|negative_index

Revision as of 15:38, 16 December 2013

Summary

Function: float llGetWallclock( );

Returns a float that is the time in seconds since midnight Pacific time (PST/PDT), truncated to whole seconds. That is the same as the time of day in SLT expressed as seconds.

For GMT use llGetGMTclock

Examples

<lsl>// Real World Sun integer Flag;

default {

   state_entry()
   {
       Flag = -1;
       llSetTimerEvent(0.1);
   }
   
   timer()
   {
       float time = llGetWallclock();
       if (Flag == -1)
       {
           llSetTimerEvent(60.0);
       }
       if (time < 21600)
       {
           if (Flag)
           {
               llSetText("The Sun is coming! :)", <1,1,0>, 1.0);
               Flag = 0;
           }
       }
       else if (time < 64800)
       {
           if (Flag != 1)
           {
               llSetText("Sun has risen. :(", <1,0,0>, 1.0);
               Flag = 1;
           }
       }
       else if (Flag != 2)
       {
           llSetText("Goodbye Sun. :(", <1,0,0>, 1.0);
           Flag = 2;
       }
   }

}</lsl>

<lsl>// Convert to human-readable HH:MM:SS format string ConvertWallclockToTime() {

   integer now = (integer)llGetWallclock();
   integer seconds = now % 60;
   integer minutes = (now / 60) % 60;
   integer hours = now / 3600;
   return llGetSubString("0" + (string)hours, -2, -1) + ":" 
       + llGetSubString("0" + (string)minutes, -2, -1) + ":" 
       + llGetSubString("0" + (string)seconds, -2, -1);

}

default {

   touch_start(integer total_number)
   {
       llSay(0, ConvertWallclockToTime());
   }

}

</lsl>

Notes

To determine if the current time returned by this function is PST or PDT, you can look at the difference between the times returned by llGetWallclock() and llGetGMTclock(). The difference will be 8 hours for PST, and 7 hours for PDT, that is 28800 or 25200 seconds.

See Also

Functions

•  llGetGMTclock Seconds since midnight GMT

Deep Notes

Search JIRA for related Issues

Signature

function float llGetWallclock();