1

因此 Azure 以 UTC 存储日期时间。如果我的系统需要在美国东部时间设置时间戳,最好的处理方法是什么?我是否将它们存储在 utc 中,但仅通过格式化它们来处理显示时间戳?在将时间戳存储到数据库之前,我是否对其进行格式化/偏移?解决此问题的最佳做法是什么?

4

2 回答 2

4

我一直主张以 UTC 时间存储,因为它是您可以计算任何其他时区的标准时间。这意味着,如果您有一项服务,任何人都可以从任何位置连接到该服务,则更容易根据他们的系统检测用户当前所在的时区,或者让他们保存他们希望查看时间设置的时区从您的应用程序中。

这个线程有一个非常大的讨论,详细讨论了它,您可能有兴趣阅读以帮助您做出决定。如果您决定存储 UTC 并转换时间,这里有一篇文章解释了如何在 C# 中从 UTC 转换为本地时间

于 2013-08-27T03:23:52.663 回答
0
  • 在任何持久存储(缓存、数据库、队列等)中存储时间 - 始终使用 UTC。
  • 用户界面中的时间 - 从您的 API (REST) 获取 UTC 并以本地系统时间显示(基于用户的系统)。
  • 此外,应用程序可以有一个选项或用户设置来使时区可配置。
  • 请记住,如果您在分布式环境中有多个服务器,则必须同步所有服务器中的时钟。

谢谢。

于 2019-02-01T11:22:31.977 回答