首页 > 解决方案 > moment.startOf 月份转到上个月的 31 日

问题描述

为了聚合一些东西,我需要在数据对象中设置月份。我正在尝试使用此代码来获取每个月的开始

moment("2018-09-04T13:06:07.397Z").startOf('month').toDate()

但是,这会返回日期 2018-08-31T22:00:00.000Z。

我怎样才能返回这个实际月份的开始?

标签: javascriptdatemomentjs

解决方案


您的输入字符串以 结尾Z,因此以 UTC 表示时间,您必须使用moment.utc(String)而不是解析它moment(String)

默认情况下,moment 解析并以本地时间显示。

如果要解析或显示 UTC 时刻,可以使用moment.utc()代替moment().

console.log(moment.utc("2018-09-04T13:06:07.397Z").startOf('month').toDate());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>


推荐阅读