处理MongoDB存储时候时差的题目

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。

封装时刻转换函数

localDate(v) {
    const d = new Date(v || Date.now());
    d.setMinutes(d.getMinutes() - d.getTimezoneOffset());
    return d.toISOString();
},

我们在存储时刻的时刻挪用localDate()这个函数就能够了,不管你处在哪一个时区效果显现都和当地时刻一样。

    原文作者:levinhax
    原文地址: https://segmentfault.com/a/1190000016119946
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞