首页 > 解决方案 > 在 JavaScript 中解析的棘手日期字符串

问题描述

Fri Nov 10 05:45:36 +0000 2017

我已经尝试过时刻和计时节点。两者都被这种日期格式难住了。

有什么建议可以获取有效的 UTC 日期吗?

谢谢

标签: javascript

解决方案


要添加到@CertainPerformance 的答案,如果您尝试使用 MomentJS,您的代码的问题在于它不是标准的 ISO 日期字符串。直接解析而不指定格式将导致错误的结果和如下警告:

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release.

为了减轻影响,请始终将格式传递给 MomentJS 构造函数,如下所示:

const inputStr = "Fri Nov 10 05:45:36 +0000 2017"
const mom = moment(inputStr, 'ddd MMM D HH:mm:ss ZZ YYYY');
console.log(mom.toISOString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>


推荐阅读