有没有一种简单的方法可以从特定时区获取 javascript 中的 unix 时间戳?例如,我希望客户端向我发送一个 unix 时间戳,但我想让它与我的时区匹配。
谢谢!
有没有一种简单的方法可以从特定时区获取 javascript 中的 unix 时间戳?例如,我希望客户端向我发送一个 unix 时间戳,但我想让它与我的时区匹配。
谢谢!
为什么不简单地以 UTC 格式发送日期,然后在服务器上转换为您的时区?
var utcEpochSeconds = dateObj.getTime() + (dateObj.getTimezoneOffset() * 60000);
用于toISOString
获取 UTC 时间戳。
var date = new Date();
date.toISOString(); // EST would be 6 hour diff from GMT
为了实现这一点,您需要将时区偏移量应用于时间,然后从值中删除您的偏移量(测试一下,我是从内存中猜测的):
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;