Jump to content

LlGetGMTclock

From OSgrid Wiki

Function: float llGetGMTclock( );

Returns a float that is the time in seconds since midnight GMT. Value appears to be truncated to the second.

For SL time, which is the same as California time, use llGetWallclock
Examples

<source lang="lsl">

//--// GMT function with local offsets in 12hr format //--//

integer gIntMinute = 60; //-- 1 minute in seconds integer gIntHour = 3600; //-- 1 hour in seconds integer gInt12Hr = 43200; //-- 12hrs in seconds integer gIntDay = 86400; //-- 1 day in seconds

string fStrGMTwOffset( integer vIntLocalOffset ){

  //-- get the correct time in seconds for the given offset
 integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
 string vStrReturn;

  //-- store morning or night and reduce to 12hour format if needed
 if (vIntBaseTime < gInt12Hr){
   vStrReturn = " AM";
 }else{
   vStrReturn = " PM";
   vIntBaseTime = vIntBaseTime % gInt12Hr;
 }

  //-- get and format minutes
 integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
 vStrReturn = (string)vIntMinutes + vStrReturn;
 if (10 > vIntMinutes){
   vStrReturn = "0" + vStrReturn;
 }

  //-- add in the correct hour, force 0 to 12
 if (vIntBaseTime < gIntHour){
   vStrReturn = "12:" + vStrReturn;
 }else{
   vStrReturn = (string)(vIntBaseTime / gIntHour) + ":" + vStrReturn;
 }
 return vStrReturn;

}

default{

 touch_start( integer vIntTouched ){
    //-- '-8' is california time, no adjustment for DST
   llSay( 0, "The time is now " + fStrGMTwOffset( -8 ) );
 }

</source>


<source lang="lsl">

// Gets the number of milliseconds since midnight UTC. integer GetGMTmsclock() {

   string stamp = llGetTimestamp();
   return
       (integer) llGetSubString(stamp, 11, 12) * 3600000 +
       (integer) llGetSubString(stamp, 14, 15) * 60000 +
       llRound((float) llGetSubString(stamp, 17, -2) * 1000.0);

} </source>


See Also
Functions
• llGetWallclock – Seconds since midnight PST