2009-06-19 1 views

Antwort

3

Da thomasrutter Javascript-Datumsfunktionen gesagt hat, sind abhängig von der Maschine des Kunden. Wenn Sie jedoch ein autorisierendes Datum erhalten möchten, können Sie eine Anforderung an Ihren Server stellen, die nur die Datumszeichenfolge zurückgibt. Sie können dann die Datumszeichenfolge in ein Datumsobjekt mit den folgenden

var ds = ... // Some ajax call 
var d = new Date(ds); 
2

oder ob Javascript eine clientseitige Sprache zu sein, sie sind davon abhängig, was die Client-Computer hat sein Datum auf festgelegt.

Ja, das ist richtig.

Wenn es von der Client-Maschine abhängt, was ist der beste Weg, um die richtige universelle Zeit zu bekommen?

Um die Zeit/Datum von einer autorisierenden Quelle, nicht von einem Client-Rechner zu erhalten.

+0

konvertieren Client-Zeitdaten sind nicht vertrauenswürdig für kritische Anwendungen. Aber ich denke, das OP weiß das schon. –

+2

Gibt es eine autorisierende Quelle, die eine API verfügbar macht? – rick

+0

Es wäre am besten, wenn Sie Ihren Server mit ntp synchronisieren. –

8

Javascript kennt nur soviel über die korrekte Zeit wie die Umgebung, in der es gerade ausgeführt wird, und Javascript ist client-side.

So ist Javascript auf die Gnade des Benutzers mit der richtigen Zeit, UND Zeitzone, Einstellungen auf dem PC, auf dem sie surfen.

Wenn der Benutzer die falsche Zeitzone hat, aber die richtige Zeit, dann sind Funktionen in Abhängigkeit von Zeitzonen wie getUTCDate() falsch.

Wenn der Benutzer die falsche Zeit hat, dann sind alle zeitbezogenen Funktionen in Javascript falsch.

Man könnte jedoch argumentieren, dass, wenn der Benutzer korrekte Zeiten auf seinem PC haben wollte, sie die richtige Zeit eingestellt hätten. Der Gegenpol dazu ist, dass der Benutzer nicht weiß, wie er das macht.