【问题标题】:Moment.js returning unexpected yearMoment.js 回归出乎意料的一年
【发布时间】:2017-01-05 22:54:22
【问题描述】:

我在使用 moment.js 的网络应用程序中为 2017 年新的一年苦苦挣扎。

当我写作时:

moment('2017-01-03').isoWeekYear(2016).week(52); // results = Dec 27 2015

当我写的时候:

moment('2017-01-04').isoWeekYear(2016).week(52); //results = Dec 26 2016

我的期望是这两个都应该给我答案“2016 年 12 月 26 日”。可能我想错了,或者这可能是 moment.js 中的错误?

我一直在努力想出一个答案或解决方法,但没有任何成功..

【问题讨论】:

  • 您使用的是当前 (2.17.1) moment.js 吗?
  • @user01 我当前的版本是 2.8.4
  • 你试过电流吗?我的快速测试显示的答案符合您的要求。
  • 将 moment.js 从 2.8.4 更新到 2.17.1 确实解决了这个问题。谢谢@user01

标签: javascript date momentjs


【解决方案1】:

您使用的是最新版本的 moment.js 吗?有点不对劲,因为这是我在运行你的 moment.js 代码时得到的:

console.log(moment('2017-01-03').isoWeekYear(2016).week(52));
console.log(moment('2017-01-04').isoWeekYear(2016).week(52));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
"2016-12-20T05:00:00.000Z"
"2016-12-21T05:00:00.000Z"

【讨论】:

  • 将 moment.js 从 2.8.4 更新到 2.17.1 确实解决了这个问题。谢谢@user01
猜你喜欢
  • 2014-09-11
  • 2013-07-15
  • 1970-01-01
  • 1970-01-01
  • 2017-12-01
  • 2014-09-19
  • 2018-07-14
  • 2015-03-02
相关资源
最近更新 更多