Moment () против предопределенного Moment (). Endof date - PullRequest
0 голосов
/ 15 апреля 2019

у меня есть объект момента с именем date:

(вт. 09 апреля 2019 00:00:00 ...)

Я хочу заменить его тем же днем ​​в последнюю минуту, как это:

(вторник, 09 апреля 2019 г., 23:59:59 ...)

Я пытался использовать var date_end = moment().endOf(date),

но это работает только если я поставлю (день, неделя или год) Можно ли использовать EndOf или есть другое решение?

Ответы [ 3 ]

1 голос
/ 15 апреля 2019

Вы можете использовать endOf после анализа вашей строковой даты с помощью moment()

Или вы можете просто установить часы, минуты, секунды и миллисекунды вручную

let myMoment = moment('2019-04-09').endOf('day');
console.log(myMoment);

let myMoment2 = moment('2019-04-09').hour(23).minute(59).second(0).milliseconds(0);
console.log(myMoment2);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
1 голос
/ 15 апреля 2019

Вы можете просто поместить конкретную дату в строку момента и получить конец дня

date = moment(new Date('Tue Apr 09 2019 00:00:00'));
console.log('End of day = ' + date.endOf('day').toString())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>
1 голос
/ 15 апреля 2019

Если у вас уже есть моментальный объект, вы можете просто сделать date.endOf('day').Я думаю, что вы неправильно понимаете документацию.

var date = moment('2019-04-09')
console.log('Before endOf', date.format())
date = date.endOf('day')
console.log('after endOf', date.format())
<script src="https://cdn.jsdelivr.net/momentjs/2.14.1/moment-with-locales.min.js"></script>

Конец времени

Изменяет исходный момент, устанавливая его в конец единицывремя.

Это то же самое, что и момент # startOf, только вместо того, чтобы устанавливать начало единицы времени, он устанавливает конец единицы времени.

moment().endOf("year"); // set the moment to 12-31 23:59:59.999 this year

...