Durante la scrittura di un'applicazione Web, ha senso archiviare (lato server) tutti i periodi di dati nel DB come timestamp UTC.
Sono rimasto stupito quando ho notato che non si poteva fare nativamente molto in termini di manipolazione del fuso orario in JavaScript.
Ho esteso un po 'l'oggetto Date. Questa funzione ha senso? Fondamentalmente, ogni volta che invio qualcosa al server, sarà un timestamp formattato con questa funzione ...
Riesci a vedere qualche grosso problema qui? O forse una soluzione da un'angolazione diversa?
Date.prototype.getUTCTime = function(){
return new Date(
this.getUTCFullYear(),
this.getUTCMonth(),
this.getUTCDate(),
this.getUTCHours(),
this.getUTCMinutes(),
this.getUTCSeconds()
).getTime();
}
Mi sembra solo un po 'contorto. E non sono nemmeno così sicuro delle prestazioni.
new Date().toString()
ti mostrerà la rappresentazione del fuso orario corrente, new Date().toUTCString()
ti mostrerà il repr dell'ora UTC, ma new Date().getTime()
è sempre UTC , perché è quello che il tempo Unix è definito come: "Il tempo Unix (noto anche come tempo POSIX o tempo di epoca) è un sistema per descrivere gli istanti nel tempo, definito come il numero di secondi trascorsi dalle 00:00:00 Coordinated Universal Time (UTC), giovedì 1 gennaio 1970, senza contare i secondi bisestili. "