javascript - moment.js 现在数据错误

标签 javascript momentjs

我有这个代码:

var utc = moment.tz(1521221491000, "UTC");
var local = utc.clone().tz(moment.tz.guess());
console.log(moment([2018, 03, 15]).fromNow());
console.log('moment() piece by piece: ' + moment().get('year') + ' ' + moment().get('month') + ' ' + moment().get('date') + '. Data inside of momment:  ' + moment().format());
console.log(local.format("YYYY-MM-DD HH:MM:SS"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.14/moment-timezone-with-data.js"></script>

在第3行

console.log(moment([2018, 03, 15]).fromNow());

假设说“1 天前”,目前写这个问题的时间是 2018 年 3 月 16 日...并且由于某种原因,响应是

in a month...

知道为什么会出现这个错误,错误发生在月份变量中。

最佳答案

如时刻的 documentation 所示,当将数组解析为参数时,moment 会镜像 native javascript Date 对象基于 0 的月份索引。令人困惑的是,3 是四月。

我个人发现,尽管您的情况可能会有所不同,但使用时刻解析预格式化的字符串或对象要容易得多。

关于javascript - moment.js 现在数据错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49327836/

相关文章:

javascript - php日期格式转moment js格式

javascript - UTC 到 EST Moment.js

javascript - 当语言环境设置为另一种语言时,如何从 momentjs 对象获取英语值?

javascript - 有什么方法可以使用 testcafe 的 javascript 单击 github 页面上的 "Sign In"链接?

javascript - 为特定服务器(或环境)禁用 tail.sh?

javascript - 为什么在JavaScript中对象不可迭代?

javascript - Google 跟踪代码管理器解析错误。主要表达

javascript - Moment.js 格式化 "Date(2021,0,1)"

javascript - 将字符串数组转换为日期,对其进行过滤并转换回字符串

javascript - 在 javascript 中解释自定义 Error 对象并与之交互