Javascript 为什么startOfMonth会导致结束月份的不同时区

Javascript 为什么startOfMonth会导致结束月份的不同时区,javascript,date-fns,Javascript,Date Fns,我正在尝试使用日期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 20

我正在尝试使用
日期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)?

可能是因为十月是我们为冬季节约时间而改变时间的月份。GMT时区不会改变它的时间,但你会改变,相对于它会产生一个1小时的班次。只是瞎猜,这个月你所在的位置会改变夏令时吗?看来你是对的,伙计们:+1: