Я только что столкнулся со сценарием, в котором утверждение на new Date(1999, 0, 1, 1, 1, 1).toISOString()
вызывает сбой теста при запуске в моем процессе ci (travis), но проходит на моем локальном компьютере.
let dString = new Date(1999, 0, 1, 1, 1, 1).toISOString();
expect(dString).to.be('1999-01-01T08:01:01.000Z');
При запуске на travis.ci я получаю ошибку утверждения:
ожидается, что '1999-01-01T01:01:01.000Z' будет равно '1999-01-01T08:01:01.000Z'
Это похоже на проблему с часовым поясом, но я не уверен, что понимаю, почему? На моем локальном компьютере при создании новой даты используется смещение UTC+8.
Однако при запуске на Трэвисе кажется, что он использует UTC+0
?
Datetime & Timezones всегда меня смущают.
Как мне написать этот тест, чтобы он прошел в любой среде