因此 Azure 以 UTC 存储日期时间。如果我的系统需要在美国东部时间设置时间戳,最好的处理方法是什么?我是否将它们存储在 utc 中,但仅通过格式化它们来处理显示时间戳?在将时间戳存储到数据库之前,我是否对其进行格式化/偏移?解决此问题的最佳做法是什么?
问问题
6519 次
2 回答
4
我一直主张以 UTC 时间存储,因为它是您可以计算任何其他时区的标准时间。这意味着,如果您有一项服务,任何人都可以从任何位置连接到该服务,则更容易根据他们的系统检测用户当前所在的时区,或者让他们保存他们希望查看时间设置的时区从您的应用程序中。
这个线程有一个非常大的讨论,详细讨论了它,您可能有兴趣阅读以帮助您做出决定。如果您决定存储 UTC 并转换时间,这里有一篇文章解释了如何在 C# 中从 UTC 转换为本地时间
于 2013-08-27T03:23:52.663 回答
0
- 在任何持久存储(缓存、数据库、队列等)中存储时间 - 始终使用 UTC。
- 用户界面中的时间 - 从您的 API (REST) 获取 UTC 并以本地系统时间显示(基于用户的系统)。
- 此外,应用程序可以有一个选项或用户设置来使时区可配置。
- 请记住,如果您在分布式环境中有多个服务器,则必须同步所有服务器中的时钟。
谢谢。
于 2019-02-01T11:22:31.977 回答