MomentJS在格式化时会更改日期值吗?

时间:2019-01-23 09:08:14

标签: javascript momentjs

我想以毫秒为单位输出日期,并以以下方式格式化'MMM d, YYYY, h:mm:ss A'

使用momentJS对我来说使此过程更容易一些,但是我遇到了一些我不理解的问题,例如,如果我使用本机Javascript这样new Date(12345);,则输出为"Thu Jan 01 1970 01:00:12 GMT+0100 (Central European Standard Time)",如果我像moment(12345).toDate()这样使用momentJS,则输出为"Thu Jan 01 1970 01:00:12 GMT+0100 (Central European Standard Time)"

好的,一切都很好,所以现在我需要进行格式化,如果我尝试使用moment(12345).format('MMM d, YYYY, h:mm:ss A')进行格式化,我会得到"Jan 4, 1970, 1:00:12 AM"

为什么在应用格式时日期从1月1日更改为1月4日?我还尝试了以下和moment(moment(12345).toDate()).format('MMM d, YYYY, h:mm:ss A'),这也产生了"Jan 4, 1970, 1:00:12 AM"

如果我感到困惑,将不胜感激。

1 个答案:

答案 0 :(得分:3)

'd'代表星期几。您应该使用大写的DDD

console.log(moment(12345).format('MMM D, YYYY, h:mm:ss A'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.js"></script>