使用偏移量计算JavaScript日期时间

Rya*_*P13 4 javascript datetime extjs date

我正在经历一些GMT时区偏移钙化的意外结果.

我正在使用ExtJS日期类来帮助计算消息从GMT 0服务器到达用户本地机器(当前GMT +8)的时间.

我想如果我计算了偏移量,那么在几秒钟内将其添加到时间戳,然后我可以使用以下计算给我一个字符串格式化我喜欢.

var d = new Date((stamp + offset) * 1000);
Run Code Online (Sandbox Code Playgroud)

stamp是以秒为单位的日期/时间,也就是偏移量.

这将返回我所在位置的当前日期和时间,但加上8小时.如果我不添加偏移量,那么时间是正确的.

方法new Date()会自动给我当地时间的日期/时间吗?

小智 7

只是添加这个以防它帮助其他人寻找后者。可能是错误的,但适用于我所需要的。

我以秒为单位存储了用户的偏移量。

(offset * 1000)如果偏移量不是以秒为单位,则假设以秒为单位的偏移量更改以确保偏移量转换为毫秒。

function offsetDate(offset){
            var d = new Date(new Date().getTime() + (offset * 1000));
            var hrs = d.getUTCHours();
            var mins = d.getUTCMinutes();
            var secs = d.getUTCSeconds();
            //simple output
            document.write(hrs + ":" + mins + ":" + secs);
Run Code Online (Sandbox Code Playgroud)


Got*_*ttZ 6

只需插入一个包含千分之一秒的unix时间戳.unix时间戳应为UTC 0,javascript将查找客户端计算机的本地时区并计算它.

正如您在链接后面所看到的,有一些UTC方法可以为您提供没有本地时间偏移的时间.也许这可能是你搜索的内容(如果你真的想自己设置时区).

编辑:

new Date().getTimezoneOffset() 将显示本地时区和utc之间的区别,但您应该考虑使用utc方法.