Luxon 为 Safari 14 浏览器创建未来日期而不是过去日期

Luxon Creates Dates in Future Instead of In past for Safari 14 Browser Only

早上好,Whosebugians!

如果之前有人回答过这个问题,我深表歉意,但我找不到任何人遇到完全相同的问题,也没有通过研究找到解决方案...

故事是这样的:

我有一个 AsOf 日期,在 DateTime 中从服务器进入我的 React 应用程序。此日期通过 camelcaseKeys 转换为驼峰式 JSON。然后使用

行在应用程序中显示该日期

{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 上,它始终会导致显示日期在未来。该代码的输出不是“一分钟前”,而是“一分钟内”。在后来的一些测试中,它一直“在 27 秒内”。

如上所述,我还没有找到解决这个问题的方法,其他人也没有找到同样的问题。如果您有任何想法、建议或以前遇到过这种情况,请加入 =)。我们将不胜感激您的英雄主义!

不幸的是,该解决方案与 React 或 Luxon 无关。我们使用的测试机的时钟坏了,导致计算相对时间时出现奇怪的结果。请参阅问题的评论以获取解释。