Uhrzeit unabhängig von Zeitzone

Eiszwerg

Erfahrenes Mitglied
Moin Moin,

ich bin gerade dabei ein Windows-Gadget mit Javascript zu erstellen, bei welchem ich für diverse Berechnungen eine Uhrzeit brauche, die auf jedem Client gleich ist.

Meinem Verständnis nach, sollte es klappen, wenn ich
Code:
now = new Date(now.toUTCString());
verwende.

Blöderweise ändert sich aber die Uhrzeit, wenn ich meine Zeitzone am PC ändere. Warum?
Hab da zuviel erwartet?

Habe mich an folgenden Artikel gehalten: http://praveenlobo.com/techblog/how-to-convert-javascript-local-date-to-utc-and-utc-to-local-date/

Danke!
 
Okay, bin schon ein bissl weitergekommen.

Derzeit habe ich quasi 3 Zeitstempel:
1. ein Startdatum und eine Startzeit
2. das aktuelle Datum und die aktuelle Zeit
3. die Differenz dieser beiden Daten

Wenn ich getTime() richtig verstanden habe, gibt es mir die Millisekunden seit dem 01.01.1970 bis zum gewünschten Datum unabhängig von der lokal eingestellten Zeitzone zurück.

Somit wären afaik korrekt:
Code:
var start	= new Date (2010, 5, 8, 3, 24, 23);
startUTC = start.getTime();
      
var now	= new Date();
var nowUTC = now.getTime();
      
var calc = nowUTC - startUTC;
var game = new Date(calc);
gameUTC = game.getTime();
Wenn ich mir nun startUTC oder nowUTC ausgeben lasse und die Zeitzone am Client ändere, hat dies keine Auswirkungen auf die Anzahl der Sekunden. Jedoch aber auf die von gameUTC.
Warum?

Wer kann mir das beantworten?

Und wo wir gerade dabei sind: wie komme ich von der Anzahl der Sekunden später wieder auf ein Konstrukt, auf welches ich die Methoden getHours(), getMinutes() etc anwenden kann?

Danke******
 
Javascript holt sich die alle Daten vom Client. now ist immer das Datum, was beim Client eingestellt ist. Du solltest alles hinterfragen, was daraus entspringt, wenn etwas fertig ist etc.
Für irgendwelche Scripte, die eine globale Zeit brauchen, musst du das Datum mit irgendeiner serverseitigen Sprache (zB PHP) einpflegen.
 
Zurück