如何在 MongoDB 应用程序中处理时区和夏令时

问题描述 投票:0回答:1

我目前正在开发一个项目,将日期时间保存在 MongoDB 中。然而,在处理来自不同地区的用户的时区和夏令时时,我面临一些挑战。现在,我正在使用 Moment JS 来处理与时间相关的操作,但我想确保遵循行业标准和最佳实践,以平稳且专业的方式处理此问题。

示例场景:

显示用户本地时区的时间:我想显示本地时区的时间戳,即使我目前以 UTC 格式保存所有时间。

处理夏令时:我希望系统在安排活动时自动调整夏令时变化,以便时间表示保持准确。

处理将日期时间与时区一起存储在 MongoDB 中,因此在检索它以显示时,甚至会考虑夏令时。

我应该坚持使用 Moment JS,还是有更好的替代方案或其他库可以为这些需求提供更好的支持?我也很好奇如何在基于 MongoDB 的应用程序中有效地实现这些功能。

如果有人可以提供一些指导,分享一些代码示例,或者向我指出相关资源,我将非常感激。

这只是我研究的开始,希望得到一个大局观

javascript mongodb graphql dst moment-timezone
1个回答
0
投票

最重要的一点是存储

Date
对象,而不是字符串。然后,时间戳始终存储为 UTC 时间,通常客户端应用程序负责以本地格式和本地时区显示这些值。

Moment.js 已弃用,没有进一步的开发。从长远来看,您应该迁移到另一个库,例如Day.jsLuxon。这是一个品味问题,你使用哪一个。我最喜欢的是Luxon,因为我不喜欢一一加载所有插件。在 MongoDB 服务器脚本中,脚本的大小和带宽并不重要。 Luxon 更严格地遵守 ISO-8601 标准(例如参见 https://github.com/iamkun/dayjs/issues/1729)。

© www.soinside.com 2019 - 2024. All rights reserved.