Javascript Date |Установить дату последней секунды года - PullRequest
4 голосов
/ 13 мая 2019

В JavaScript у меня есть объект Date со следующим значением:

Thu Jan 01 1998 00:00:00 GMT+0100 (Central European Standard Time)

Год может быть любым, но день и время всегда Jan 01 00:00:00.

Вопрос: Как я могу установить дату последней секунды выбранного года? В этом примере: Dec 31 1998 23:59:59 GMT+0100 (Central European Standard Time)

Ответы [ 5 ]

4 голосов
/ 13 мая 2019

Вы можете создать экземпляр объекта Date в следующем формате:

новая дата (год, месяцIndex [, день [, часы [, минуты [, секунды [, миллисекунды]]]]]);

Подробности здесь .

let date = new Date(1998,11,31,23,59,59); //note Month 11 is Dec (0 is Jan)
4 голосов
/ 13 мая 2019

Создайте экземпляр Date для полуночи в первый день следующего года, затем переместите секунды назад на 1.

var lastSecond = new Date(1999, 0, 1, 0, 0, 0, 0);
lastSecond.setSeconds(lastSecond.getSeconds() - 1);

Это мой общий подход к экземплярам JavaScript Date,но в этом случае, поскольку всегда есть 59 секунд в минуту и ​​59 минут в час и 24 часа в день, вы можете просто напрямую создать это целевое значение с помощью конструктора:

var lastSecond = new Date(1998, 11, 31, 23, 59, 59)
3 голосов
/ 13 мая 2019

Установите пример даты:

let date = new Date(2000,0,1);

И вычтите одну секунду из этого:

date.setSeconds(-1);
3 голосов
/ 13 мая 2019

Вы всегда можете просто удалить 1000ms с первого дня года, чтобы получить последнюю секунду прошлого года:

let januaryFirst = new Date('01/01/2000'),
    oneSecondbefore = new Date(+januaryFirst - 1000);

console.log(oneSecondbefore);
2 голосов
/ 13 мая 2019

Вы можете использовать метод endOf из Moment.js.

http://momentjs.com/docs/#/manipulating/end-of/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...