reactjs - 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 秒内”。
如上所述,我还没有找到解决方案,也没有其他人有同样的问题。如果您有任何想法、建议或曾经遇到过这种情况,请加入 =)。你的英雄主义将不胜感激!
解决方案
不幸的是,该解决方案与 React 或 Luxon 无关。我们使用的测试机时钟坏了,在计算相对时间时会导致奇怪的结果。请参阅对问题的评论以获取解释。
推荐阅读
- javascript - Django - 为 Angular 应用程序提供服务
- mysql - 使用 Node.js 连接到 Google Cloud 上的 MySQL 数据库(错误:连接 ENOENT)
- pagination - 在没有查看器的情况下中继现代分页
- reporting-services - Reporting Services:为尚未识别的用户添加权限
- apache - 启动 Apache 后 Docker 容器关闭
- python - 为什么我会收到列表索引错误?
- python - 如何获得不是 HttPretty 中最后一个请求的请求?
- php - 在 php 中设置 cookie 并通过 ajax 运行会话
- compression - `7z` 可以只压缩文件的更新部分而不是压缩完整的更新文件吗?
- android - 从客户端调用云端点库