昨天在一论坛里看到有朋友问 js 如何获取格林尼治时间戳。
不少朋友第一反应是 toGMTString 。。。确实可以得到格林尼治时间,但不是时间戳。虽然我也没有啥好的方法一步到位的获取,不过至少是获取到了,与大家分享下吧,让各位贱笑了。getTimezoneOffset 可以取得当前时区的偏移量,单位是分钟,
我们的时区是 GMT+0800,所以转换回去应该 -8 才对。换算成分钟就是 -8 * 60 = -480getTimezoneOffset 方法得到的正是 -480var 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() );
好了,今天就分享这么个小知识点吧。