首页 > 解决方案 > 使用 momentjs 或 Date() 获取 2020-02-29T00:00:00.000Z 三月

问题描述

我正在尝试获取本月的开始和结束时间,但是对于 3 月,它给我的开始日期为 2020-02-29T00:00:00.000Z

使用 momentjs

    var firstDay = new moment().startOf('month').utcOffset(0);
    firstDay.set({hour:0,minute:0,second:0,millisecond:0});
    var lastDay = new moment().endOf('month').utcOffset(0);
    lastDay.set({hour:23,minute:59,second:59,millisecond:0})

使用日期()

    var date = new Date(),
        y = date.getFullYear(),
        m = date.getMonth();
    var firstDay = new Date(y, m, 1);
    var lastDay = new Date(y, m + 1, 1);

如何解决这个问题?

标签: javascriptmomentjs

解决方案


尝试 startOf / endOf 后跟utcOffset()

注意: startOf - 设置为本月的第一天,凌晨 12:00

var firstDay = new moment('2020-02-29T00:00:00.000Z').utcOffset(0).startOf('month');
console.log(firstDay.format())

var lastDay = new moment('2020-02-29T00:00:00.000Z').utcOffset(0).endOf('month');
console.log(lastDay.format())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>


推荐阅读