MongoDB存储时间类型数据时,都是先转换为UTC时间,然后存储到数据库中,当我们取出存储的时间时,就会出现时差的问题。比如我们用的北京时间,读取到的数值就会看到比当前时间少了8个小时,难道说我们在每次读取的时候都要单独处理一下时间吗,这就比较麻烦。其实,我们可以在存储的时候进行相应的处理,只需使用getTimezoneOffset()和toISOString()函数。
getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
-
<script>
-
// 我们是东八区
-
var d = new Date();
-
var tz = d.getTimezoneOffset();
-
console.log(tz); // -480
-
</script>
-
复制代码
toISOString()函数:使用ISO标准将 Date 对象转换为字符串。
该标准称为 ISO-8601 ,格式为: YYYY-MM-DDTHH:mm:ss.sssZ。