从特定时区获取当前时间戳

时间:2012-03-06 01:47:02

标签: javascript timezone unix-timestamp timezone-offset

有一种简单的方法可以从特定时区获取javascript中的unix时间戳吗?例如,我希望客户端发送一个unix时间戳,但我想让它与我的时区相匹配。

谢谢!

3 个答案:

答案 0 :(得分:5)

为什么不简单地以UTC格式发送日期,然后在服务器上转换为您的时区?

var utcEpochSeconds = dateObj.getTime() + (dateObj.getTimezoneOffset() * 60000);

答案 1 :(得分:1)

使用toISOString获取UTC时间戳。

var date = new Date();
date.toISOString(); // EST would be 6 hour diff from GMT

答案 2 :(得分:1)

为了实现这一点,您需要将时区偏移量应用于时间,然后从值中删除偏移量(测试此值,我猜测内存):

var now = new Date(),
    offset = -(now.getTimezoneOffset() * 60 * 1000), // now in milliseconds
    userUnixStamp = +now + offset;

现在偏离你自己:

var now = new Date(),
    offset = now.getTimezoneOffset() * 60 * 1000,
    yourUnixStamp = userUnixStamp - offset;