js 获取格林尼治时间戳

昨天在一论坛里看到有朋友问 js 如何获取格林尼治时间戳。
不少朋友第一反应是 toGMTString 。。。
确实可以得到格林尼治时间,但不是时间戳
虽然我也没有啥好的方法一步到位的获取,不过至少是获取到了,与大家分享下吧,让各位贱笑了。

getTimezoneOffset 可以取得当前时区的偏移量,单位是分钟,
我们的时区是 GMT+0800,所以转换回去应该 -8 才对。
换算成分钟就是 -8 * 60 = -480
getTimezoneOffset 方法得到的正是 -480

var dt = new Date;
console.log( dt.getTimezoneOffset() ); // -480

我们要得到相应的格林尼治时间戳,只需要加上 -480 分钟即可。

var dt = new Date;
dt.setMinutes( dt.getMinutes() + dt.getTimezoneOffset() ); // 当前时间(分钟) + 时区偏移(分钟)
console.log( "格林尼治时间戳: ", dt.getTime() );
console.log( "用本地时间格式显示: ", dt.toLocaleString() );

好了,今天就分享这么个小知识点吧。

posted @ 2014-07-16 22:35  楼教主  阅读(8069)  评论(10编辑  收藏  举报