【问题标题】:Get Local TimeZoneInfo获取本地时区信息
【发布时间】:2013-08-09 08:15:23
【问题描述】:

我正在使用 C#。我需要获取运行 Web 应用程序的人的本地时区信息。

我想知道是否:

TimeZoneInfo tzinfo = TimeZoneInfo.Local;
TimeZoneInfo.ConvertTimeFromUtc(result.DueDate.Value, tzinfo);

是合适的。再次取决于运行应用程序的人所在的时区,我希望能够反映这一点。

【问题讨论】:

  • 您说的是“Web 应用程序” - 您是要获取 服务器 还是 客户端 的时区?
  • 我正在尝试获取客户端的时区。
  • 以下是我将 UTC DateTime 转换为网站用户本地时间的方法。诀窍是让用户(客户端)告诉服务器他们所在的时区,并让服务器将 UTC DateTime 偏移到他们的本地时间:stackoverflow.com/questions/8194016/…

标签: c#


【解决方案1】:

是的,你是对的,这是你应该使用的。替代可以是

TimeZone localZone = TimeZone.CurrentTimeZone;

但是CurrentTimeZone 属性对应于TimeZoneInfo.Local 属性所以没有区别。

它显示本地时区的标准时间和夏令时名称。

【讨论】:

  • 您可能需要澄清一下,这会返回托管进程的机器的本地时区,而不一定是“运行 Web 应用程序的人”。
  • 谢谢。我在上面编辑的版本上使用 TimeZoneInfo.ConvertTimeFromUtc。请让我知道这是否是最好的方法。谢谢。
  • 没有 javascript 是不可能的,见c-sharpcorner.com/uploadfile/vendettamit/…
  • @NatePet 您需要将其取消标记为答案。你问这是否会给你一个网络客户端的时区,这个答案说“是”,这是不正确的。此代码为您提供 Web 服务器的时区。
  • 是的,为什么答案标记为正确答案?它给出了服务器机器时区。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2012-08-20
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多