检查日期是否有时区

时间:2018-01-05 17:25:51

标签: javascript momentjs

如果datetime有时区解析时区,然后转换为UTC:

e.g。 $ echo "a,b\$\$b,c" | sed 's/[^,$]/|/g' |,|$$|,| $ => convert('2018-01-05T17:04:43+04:00')

如果datetime没有时区转换为UTC:

e.g。 2018-01-05T13:04:43Z => convert('2018-01-05T17:04:43')

我怎样才能可靠地做到这一点?也许随着时间?

2 个答案:

答案 0 :(得分:2)

你看过这个页面吗? https://momentjs.com/timezone/docs/

您可以使用它解析和更改时区。我的建议是强制每个日期到同一时区(例如你的时区或其他标准时区),然后比较同一时区的日期。

希望这有帮助

答案 1 :(得分:1)

如果datetime有时区解析时区,然后转换为UTC 如果datetime没有时区转换为 将其解析为 UTC 正是moment.utc()所做的。

这是一个实时样本:



var arr = [
  '2018-01-05T16:29:00.000-04:00',
  '2018-01-05T16:29:00.000+00:00',
  '2018-01-05T16:29:00.000Z',
  '2018-01-05T16:29:00.000'
];
arr.forEach( (s) => {
  console.log( moment.utc(s).format() ) ;
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
&#13;
&#13;
&#13;