JS时区转换

发布于 2024-08-14 16:06:01 字数 296 浏览 8 评论 0原文

在Javascript中,我有一个时间戳,我的处理方式如下:

var origUnixTimestamp = (date * 1000);

除了这个时间戳之外,我还有一个UTC偏移量(-5,尽管这是可变的)。我正在寻找使用 Date 的 getTimezoneOffset() 方法将 origUnixTimestamp 转换为用户 UTC 偏移量。

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

In Javascript, I have a timestamp which I'm handling like so:

var origUnixTimestamp = (date * 1000);

Along with this timestamp I have a UTC offset (-5, although this is variable). I'm looking to convert origUnixTimestamp to the users UTC offset, using Date's getTimezoneOffset() method.

I'm just wondering how I take into account the original timestamps UTC offset (-5, for example) and convert it to the users current UTC offset. I imagine this is fairly simple, but it's warping my brain at the moment.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泪眸﹌ 2024-08-21 16:06:01

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

Javascript doing it for you. All the dates stored in the Date object are already converted to the correct timezone (just pass your epoch to the constructor). The same Date object has ability to work with epoch date and 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
堇年纸鸢 2024-08-21 16:06:01

此链接 有从当地时间转换的说明:

// 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);

This link has instructions for converting from local time:

// 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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文