Difference between revisions of "LlGetWallclock"

From Second Life Wiki
Jump to: navigation, search
m (Add some hopefully helpful comments)
(Add 2nd values for SLT/GMT difference)
Line 77: Line 77:
 
|also_tests
 
|also_tests
 
|also_articles
 
|also_articles
|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.
+
|notes=To determine if the current time returned by this function is PST or PDT, you can look at the difference between llGetGMTclock() and llGetWallclock(). The difference will be either 8 hours or -16 hours for PST, and 7 hours or -17 hours for PDT, that is 28800 or -57600,  or 25200 or -61200 seconds.
 
|permission
 
|permission
 
|negative_index
 
|negative_index

Revision as of 04:26, 18 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 llGetGMTclock() and llGetWallclock(). The difference will be either 8 hours or -16 hours for PST, and 7 hours or -17 hours for PDT, that is 28800 or -57600, or 25200 or -61200 seconds.

See Also

Functions

•  llGetGMTclock Seconds since midnight GMT

Deep Notes

Search JIRA for related Issues

Signature

function float llGetWallclock();