локальный компьютер против travis.ci, возвращающий разные результаты для `Date.toISOString ()` - PullRequest
0 голосов
/ 28 апреля 2019

Я только что столкнулся со сценарием, в котором утверждение на 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.

Однако при запуске на travis кажется, что оно использует UTC+0?

Datetime & Timezones всегда путаютмне.

Как мне написать этот тест, чтобы он проходил в любой среде

1 Ответ

1 голос
/ 29 апреля 2019

Я использовал следующую строку для создания даты в UTC, и теперь она проходит на обеих платформах:

new Date(Date.UTC(1999,0,1,1,1,1)).toISOString();

...