LlGetGMTclock/de

From Second Life Wiki
< LlGetGMTclock
Revision as of 14:44, 11 August 2009 by Zai Lynch (talk | contribs) (l10n)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

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

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

}

</lsl>

Siehe auch

Funktionen

•  llGetWallclock Sekunden seit Mitternacht PST (Pacific Standart Time)

Weiterführende Anmerkungen

Nach JIRA-Issues suchen, die sich hierauf beziehen

Signature

function float llGetGMTclock();
Dieser Artikel war nicht hilfreich für Dich? Vielleicht bringt der zugehörige Artikel im SLinfo Wiki Erleuchtung.