Почему startOfMonth приводит к другому часовому поясу, который заканчивается месяцем

#javascript #date-fns

#javascript #дата-fns

Вопрос:

Я пытаюсь получить правильные значения начала и конца месяца, используя date-fns . Мой часовой пояс браузера UTC 2 (как new Date().getTimezoneOffset() результат -120 ).

Пример кода:

 
console.log('start of month: ', dateFns.startOfMonth(new Date()));
console.log('end of month: ', dateFns.endOfMonth(new Date()));
  

Результат:

 start of month:  Thu Oct 01 2020 00:00:00 GMT 0200 (czas środkowoeuropejski letni)
end of month:  Sat Oct 31 2020 23:59:59 GMT 0100 (czas środkowoeuropejski standardowy)
  

Почему startOfMonth результат в часовом GMT 0200 поясе, а endOfMonth результат в GMT 1 ? Возможно ли получить правильные значения часовых поясов (GMT 0200) для обоих случаев?

Комментарии:

1. Вероятно, потому, что октябрь — это месяц, когда мы меняем время на зимнее, экономя время. Часовой пояс GMT не меняет свое время, но вы это делаете, создавая сдвиг на 1 час относительно него.

2. Просто вслепую, может быть, для вашего местоположения в этом месяце у вас есть переход на летнее время?

3. Кажется, вы правы, ребята: 1: