2009-12-15 7 views
3

en Javascript, j'ai un horodatage que je suis la manipulation comme ceci:JS conversion de fuseau horaire

var origUnixTimestamp = (date * 1000); 

Avec cette timestamp J'ai un décalage horaire UTC (-5, bien que cela soit variable). Je cherche à convertir origUnixTimestamp au décalage UTC des utilisateurs, en utilisant la méthode getTimezoneOffset() de Date. Je me demande simplement comment je prends en compte l'offset UTC d'horodatage d'origine (-5, par exemple) et le convertis en offset UTC actuel des utilisateurs. J'imagine que c'est assez simple, mais c'est en train de déformer mon cerveau en ce moment.

Répondre

0

This link a des instructions pour convertir de l'heure locale:

// create Date object for current location 
d = new Date(); 

// convert to msec 
// add local time zone offset 
// get UTC time in msec 
utc = d.getTime() + (d.getTimezoneOffset() * 60000); 
3

Javascript faire pour vous. Toutes les dates stockées dans l'objet Date sont déjà converties dans le fuseau horaire correct (il suffit de passer votre époque au constructeur). Le même objet Date a la capacité de travailler avec la date et l'heure UTC.

var some_date = new Date(epoch); 
var time = some_date.getDay(); // will be different in different zones 
some_date.setDay(22); // to set day 
var origUnixTimestamp = some_date.getTime(); //returns you epoch