gpt4 book ai didi

c# - 如何处理 RemoteApp 中的不同时区

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:07 26 4
gpt4 key购买 nike

我有一个部署为 remoteapp 的 Windows 应用程序。我正在尝试使用 C# DateTime.Now 生成时间戳。我很想知道,如果用户从时区与托管应用程序的服务器时区不同的地方使用应用程序,将如何生成时间戳。它是服务器特定的还是用户机器特定的。如果是根据服务器时区,有没有什么办法让它特定于用户机器?

最佳答案

I'm trying to generate a timestamp using C# DateTime.Now.

强烈建议不要这样做。这将使用运行代码的系统的时区。它只是不适合时间戳。特别是:

  • 除非您还记录了 UTC 偏移量,否则您不会以任何特别有意义的方式知道事件实际发生的时间,包括将一个时间戳与另一个可能在不同时区捕获的时间戳进行比较
  • 您会发现由于时区转换,时间戳可能会倒退

相反,对所有时间戳使用 UTC - 所以 DateTime.UtcNow - 并确保使用这些时间戳的所有地方知道它们是 UTC。

即使在使用 UTC 时,如果您使用的是 DateTime.UtcNow,时间戳将基于系统时钟,因此如果它们是在多台机器上生成的,而这些机器的系统时钟可能不是如果彼此不同步,您的时间戳将不会给出明确的顺序……但您将处于比仅使用系统本地时区更好的位置。

关于c# - 如何处理 RemoteApp 中的不同时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46490298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com