LlGetGMTclock/de

From Second Life Wiki

Hauptseite > LlGetGMTclock > LlGetGMTclock/de
Jump to: navigation, search

LSL Portal Funktionen | Ereignisse | Typen | Konstanten | Datenflusskontrolle | Script Sammlung | Tutorien

Contents

Beschreibung

Funktion: float llGetGMTclock( );

Gibt einen Gleitkommawert, welcher der verstrichenen Zeit in Sekunden, seit Mitternacht GMT entspricht. Der Wert scheint auf Sekunden gestutzt zu werden.

Für die in SL verwendete Zeit (Pacific Time (PDT/PST), nutze llGetWallclock

Beispiele

 
//--// GMT Funktion mit regionalem Zeitausgleich im 12 Stunden Format //--//
 
integer gIntMinute = 60;    //-- 1 Minute in Sekunden
integer gIntHour   = 3600;  //-- 1 Stunde in Sekunden
integer gInt12Hr   = 43200; //-- 12 Stunden in Sekunden
integer gIntDay    = 86400; //-- 1 Tag in Sekunden
 
string fStrGMTwOffset( integer vIntLocalOffset ){
   //-- bezieht die korrekte Zeit in Sekunden für den angegebenen Zeitausgleich
  integer vIntBaseTime = ((integer)llGetGMTclock() + gIntDay + vIntLocalOffset * gIntHour) % gIntDay;
  string vStrReturn;
 
   //-- speichert ob es Morgens oder Abends ist und reduziert in's 12 Stunden Format
  if (vIntBaseTime < gInt12Hr){
    vStrReturn = " AM";
  }else{
    vStrReturn = " PM";
    vIntBaseTime = vIntBaseTime % gInt12Hr;
  }
 
   //-- bezieht und formatiert Minuten
  integer vIntMinutes = (vIntBaseTime % gIntHour) / gIntMinute;
  vStrReturn = (string)vIntMinutes + vStrReturn;
  if (10 > vIntMinutes){
    vStrReturn = "0" + vStrReturn;
  }
 
   //-- fügt die korrekte Stundenzahl hinzu, zwingt 0 zu 12
  if (vIntBaseTime < gIntHour){
    vStrReturn = "12:" + vStrReturn;
  }else{
    vStrReturn = (string)(vIntBaseTime / gIntHour) + ":" + vStrReturn;
  }
  return vStrReturn;
}
 
default{
  touch_start( integer vIntTouched ){
     //-- '-8' ist Zeit in Kalifornien, keine Anpassung auf Sommerzeit
    llSay( 0, "Es ist jetzt " + fStrGMTwOffset( -8 ) );
  }
}
 

 
// Bezieht die Millisekunden seit Mitternacht in GMT
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);
}
 

Siehe auch

Funktionen

•  llGetWallclock Sekunden seit Mitternacht PST (Pacific Standart Time)
Dieser Artikel war nicht hilfreich für Dich? Vielleicht bringt der zugehörige Artikel im SLinfo Wiki Erleuchtung.
In other languages