3

在 Javascript 中,我有一个时间戳,我正在这样处理:

var origUnixTimestamp = (date * 1000);

除了这个时间戳,我还有一个 UTC 偏移量(-5,虽然这是可变的)。我希望使用 Date 的 getTimezoneOffset() 方法将 origUnixTimestamp 转换为用户的 UTC 偏移量。

我只是想知道如何考虑原始时间戳 UTC 偏移量(例如,-5)并将其转换为用户当前的 UTC 偏移量。我想这很简单,但此刻它正在扭曲我的大脑。

4

3 回答 3

3

Javascript为你做。存储在 Date 对象中的所有日期都已转换为正确的时区(只需将您的纪元传递给构造函数)。同一个 Date 对象可以处理纪元日期和 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
于 2009-12-15T19:53:06.593 回答
2

这个怎么样:http: //github.com/mde/timezone-js

于 2011-05-20T02:59:33.373 回答
0

此链接包含从本地时间转换的说明:

// 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);
于 2009-12-15T19:50:00.293 回答