momentjs格式返回日期休息一天?

时间:2018-05-05 05:17:01

标签: javascript momentjs

我正在使用momentjs格式化我的约会。然而,它显示一天休息的日期,我不知道为什么。这是我正在使用的代码:

moment(date).format('MMMM do YYYY, h:mma')

其中date = Sat May 05 2018 00:26:53 GMT-0400 (Eastern Daylight Time)

然而结果是May 6th 2018, 12:26am - 显示可能是6而不是5。 有谁知道为什么会这样?感谢。

1 个答案:

答案 0 :(得分:3)

您在未指定格式的情况下传递非ISO字符串,这将导致控制台出现警告,并可能显示错误的日期。

  

弃用警告:提供的值不是公认的RFC2822或ISO格式。时刻构造回落到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>
&#13;
&#13;
&#13;