您在传递非ISO字符串时没有指定格式,这将导致控制台上出现警告,并可能显示错误的日期。
弃用警告:提供的值不是可识别的RFC2822或ISO格式。moment构造回退到js Date(),这在所有浏览器和版本中都不可靠。不鼓励使用非RFC2822/ISO日期格式,并将在即将发布的主要版本中删除。请参阅
http://momentjs.com/guides/#/warnings/js-date/
了解更多信息。
始终通过格式作为预防措施。针对您的问题,要正确显示日期,您需要使用
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>