我有这个代码:
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/