Difference between revisions of "LlGetGMTclock"

From Second Life Wiki
Jump to navigation Jump to search
m (added example)
m (spelign)
Line 11: Line 11:
<lsl>
<lsl>
//--// GMT function with local offsets in 12hr format //--//
//--// GMT function with local offsets in 12hr format //--//
 
integer gIntMinute = 60;    //-- 1 minute in seconds
integer gIntMinute = 60;    //-- 1 minute in seconds
integer gIntHour  = 3600;  //-- 1 hour in seconds
integer gIntHour  = 3600;  //-- 1 hour in seconds
integer gInt12Hr  = 43200; //-- 12hrs in seconds
integer gInt12Hr  = 43200; //-- 12hrs in seconds
integer gIntDay    = 86400; //-- 1 day in seconds
integer gIntDay    = 86400; //-- 1 day in seconds
 
string fStrGMYwOffset( integer vIntLocalOffset ){
string fStrGMTwOffset( integer vIntLocalOffset ){
   //-- get the correct time in seconds for the given offset
   //-- get the correct time in seconds for the given offset
   integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
   integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
   string vStrReturn;
   string vStrReturn;
 
   //-- store morning or night and reduce to 12hour format if needed
   //-- store morning or night and reduce to 12hour format if needed
   if (vIntBaseTime < gInt12hr){
   if (vIntBaseTime < gInt12Hr){
     vStrReturn = " AM";
     vStrReturn = " AM";
   }else{
   }else{
     vStrReturn = " PM";
     vStrReturn = " PM";
     vIntBaseTime = vIntBaseTime % gInt12hr;
     vIntBaseTime = vIntBaseTime % gInt12Hr;
   }
   }
 
   //-- get and format minutes
   //-- get and format minutes
   integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
   integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
Line 36: Line 36:
     vStrReturn = "0" + vStrReturn;
     vStrReturn = "0" + vStrReturn;
   }
   }
 
   //-- add in the correct hour, force 0 to 12
   //-- add in the correct hour, force 0 to 12
   if (vIntBaseTime < gIntHour){
   if (vIntBaseTime < gIntHour){
Line 45: Line 45:
   return vStrReturn;
   return vStrReturn;
}
}
 
default{
default{
   touch_start( integer vIntTouched ){
   touch_start( integer vIntTouched ){

Revision as of 01:56, 19 February 2008

Summary

Function: float llGetGMTclock( );
0.0 Forced Delay
10.0 Energy

Returns a float that is the time in seconds since midnight GMT. Seems to be accurate to the millisecond.

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

Examples

<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 ) );
 }

} </lsl> <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);

}

</lsl>

See Also

Functions

•  llGetWallclock Seconds since midnight PST

Deep Notes

Signature

function float llGetGMTclock();