我正在使用 momentjs 来格式化我的日期。但是它显示的是休息日的日期,我不确定为什么。这是我正在使用的代码:
moment(date).format('MMMM 做 YYYY, h:mma')
其中 date = 2018 年 5 月 5 日星期六 00:26:53 GMT-0400(东部夏令时间)
但是结果是 May 6th 2018, 12:26am
- 显示 5 月 6 日而不是 5 月 5 日。
有谁知道为什么会这样?谢谢。
最佳答案
您在未指定格式的情况下传递非 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. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
始终传递格式作为预防措施。对于您的问题,要正确显示日期,您需要使用 Do
说明符,而不是 do
。前者用于月中的第几天,后者用于星期几。
var date = moment('Sat May 05 2018 00:26:53 GMT-0400 (Eastern Daylight Time)', 'ddd MMM DD YYYY HH:mm:ss');
console.log(date.format('MMMM Do YYYY, h:mma'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
关于javascript - momentjs 格式返回日期休息一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50185979/