Luxon создает даты в будущем, а не в прошлом только для браузера Safari 14

Доброе утро, StackOverflowians!

Я извиняюсь, если на этот вопрос уже был дан ответ, но я не смог найти никого с точно такой же проблемой и не нашел решения в результате исследования...

Вот история:

У меня есть дата AsOf в DateTime, поступающая в мое реагирующее приложение с сервера. Эта дата преобразуется в JSON в верблюжьем регистре с помощью camelcaseKeys. Затем эта дата отображается в приложении с помощью строки

{DateTime.fromISO(obj.asOf).toRelative()}

... где obj — это объект со свойством asOf, который считается ненулевым и правильно отформатирован для нашего случая. DateTime, fromISO и toRelative — все от luxon.

Этот код отлично работает во всех необходимых нам браузерах (Chrome, IE11, Firefox и т. д.). Он также корректно работает с Safari 13, Mac OS 10.15 при тестировании.

Однако в Safari 14 и Mac OS 11 дата постоянно отображается в будущем. Вместо One Minute Ago вывод этого кода становится In One Minute. Во время некоторых более поздних тестов он стабилизировался за 27 секунд.

Как указано выше, я не нашел решения для этого, и ни у кого другого не было такой же проблемы. Если у вас есть какие-либо мысли, советы или вы когда-либо сталкивались с этим, пожалуйста, отзовитесь =). Ваш героизм будет высоко оценен!


person justian17    schedule 19.03.2021    source источник
comment
Итак, оказалось, что проблема не имеет ничего общего ни с Luxon, ни с React. Мы тестировали удаленно, используя сервис под названием SauceLabs. Я не упомянул об этом, потому что не понимал, что это важная деталь. В этом случае собственные внутренние часы машины SauceLabs сбились - как по часовому поясу, так и по некоторым минутам. Точная разница будет меняться от машины к машине, так что наши расчеты будут ломаться. Наш код успешно компенсировал часовой пояс, но никак не мог компенсировать разницу в минутах. Спасибо за чтение!   -  person justian17    schedule 07.04.2021


Ответы (1)


К сожалению, решение не имело ничего общего ни с React, ни с Luxon. У испытательной машины, которую мы использовали, были сломанные часы, что приводило к странным результатам при расчете относительного времени. Пожалуйста, смотрите комментарий к вопросу для объяснения.

person justian17    schedule 07.04.2021