首页 > 解决方案 > Luxon 只为 Safari 14 浏览器创建未来而不是过去的日期

问题描述

早上好,StackOverflowians!

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

这是故事:

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

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

...其中 obj 是具有 asOf 属性的对象,假定为非 null 并且为我们的案例正确格式化。DateTime、fromISO 和 toRelative 都来自 luxon。

这段代码在我们需要的每个浏览器(Chrome、IE11、Firefox 等)上都运行良好。它在 Safari 13、Mac OS 10.15 的测试中也能正常运行。

但是,在 Safari 14 和 Mac OS 11 上,它始终会导致显示日期在未来。该代码的输出不是“一分钟前”,而是“一分钟内”。在后来的一些测试中,它始终“在 27 秒内”。

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

标签: reactjsluxon

解决方案


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


推荐阅读