Получение 2020-02-29T00: 00: 00.000Z за март с использованием момента js или даты () - PullRequest
2 голосов
/ 24 марта 2020

Я пытаюсь получить начало и конец текущего месяца, но на март это дает мне дату начала как 2020-02-29T00: 00: 00.000Z

Использование момента js

    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);

Как решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 24 марта 2020

Попробуйте 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>
0 голосов
/ 24 марта 2020

Для марта должно быть так, используя utcOffset(0), затем вызовите функцию startof():

var startDay = new moment().utcOffset(0).startOf('month').format();
var endDay = new moment().utcOffset(0).endOf('month').format();

console.log(startDay);
console.log(endDay);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
...