У меня есть эта функция, которая возвращает новый экземпляр Date
с количеством дней, добавленных или вычтенных из переданного Date
объекта.
function daysFrom(date, numDays) {
var retDate = new Date();
retDate.setDate(date.getDate() + numDays);
return retDate;
}
Но сейчас (в тихоокеанском часовом поясе), если я пропущу дату с 19 сентября 2018 года, мои две даты будут несовместимы по стандартному и летнему времени.
var endDate = new Date(Date.parse('19 September 2018 00:12:00 GMT'));
var startDate = daysFrom(endDate, -5);
console.log(startDate, endDate);
// Tue Sep 18 2018 17:12:00 GMT-0700 (Pacific Daylight Time) Tue Nov 13 2018 20:05:02 GMT-0800 (Pacific Standard Time)
Полагаю, они будут другими, потому что моя возвращаемая дата была создана сегодня, так как мы не в летнее время, но как проще всего убедиться, что возвращаемая дата является правильным режимом для времени года? В 2019 году летнее время начнется 10 марта, поэтому, если я вычту x
количество дней из этого, я буду ожидать, что режим времени (как бы он ни назывался) был стандартным, а не летним.
А как называется режим (DST vs Standard)?
Использование текущей версии браузера Chrome.