Простой ответ
Когда вы вводите дату не в формате UTC, срок действия javascript автоматически преобразует дату в GMT.
JavaScript Cookie expires time must be GMT/UTC
Выможет использовать следующее, чтобы иметь дату UTC, которая заканчивается в 23: 59: 59
const date = new Date();
const expires = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59));
console.log(expires.toUTCString());
Обновление В соответствии с ОП, предложенным в комментарии, предоставить другой подход, чтобы ему не приходилось использовать методы getFullYear
, getMonth
и т. Д. Вот как можно преобразовать currentDate в UTC, который заканчивается в 23:59:59, без использования функций Date.UTC
и year / month:
var curDate = new Date();
curDate.setUTCHours(23);
curDate.setUTCMinutes(59);
curDate.setUTCSeconds(59);
console.log(curDate.toISOString())