Describe the bug
Dayjs does not seem to convert timezone correctly when DST is in effect. It produces different results from Moment. The Moment results seem intuitively what I'd expect, so believe to be correct unless there is some subtlety I'm missing.
Expected behavior
With this code:
const when = '2020-07-30T12:00:00+00:00'; // Midday GMT in summer
console.log('Moment London: ' + moment(when).tz('Europe/London').format('HH:mm Z'));
console.log('Moment New York: ' + moment(when).tz('America/New_York').format('HH:mm Z'));
console.log('Dayjs London: ' + dayjs(when).tz('Europe/London').format('HH:mm Z'));
console.log('Dayjs New York: ' + dayjs(when).tz('America/New_York').format('HH:mm Z'));
The output is:
Moment London: 13:00 +01:00
Moment New York: 08:00 -04:00
Dayjs London: 12:00 +00:00 // Expect 13:00 +01:00
Dayjs New York: 08:00 -05:00 // Expect 08:00 -04:00
Information
- Day.js: v1.9.6
- OS: Windows 10 Home
- Nodejs: v12.8.3
- Time zone: GMT+00:00
Describe the bug
Dayjs does not seem to convert timezone correctly when DST is in effect. It produces different results from Moment. The Moment results seem intuitively what I'd expect, so believe to be correct unless there is some subtlety I'm missing.
Expected behavior
With this code:
The output is:
Information