【问题标题】:How To Set Client Time Zone Equal to Server Time Zone Window App .Net C#如何将客户端时区设置为等于服务器时区 Window App .Net C#
【发布时间】:2010-09-30 10:24:36
【问题描述】:

我的客户端应用程序通过 Web 服务从远程服务器接收数据。该应用程序基本上是用 1.1 Framework Windows Form 编写的。

我要做的就是将我的客户端应用程序时区设置为服务器时区,这样就可以避免任何与日期时间相关的差异。

为此,我想知道如何检索服务器时区以及如何将客户端时区设置为等于服务器。

【问题讨论】:

    标签: c# .net windows timezone


    【解决方案1】:

    如果您在双方都使用 UTC,则无需担心偏移量不同。为了在您的应用程序中显示,您可以将 UTC 日期转换为本地时间。

    【讨论】:

      【解决方案2】:

      我不知道您的问题到底是什么,我们的应用程序中遇到了类似的问题。当在不同时区从服务器向客户端发送日期时间时,当客户端收到日期时间时,它可以将其转换为本地时间。我在 .net 1.1 中找不到解决方案。但在 .Net 2.0 及以后的版本中,DateTime 有一个名为 Kind 的属性,如果您将其值设置为 Unspecified,客户​​端不会将其从服务器接收到的时间转换为本地时间。

      【讨论】:

        【解决方案3】:

        大卫,

        我认为最初的问题是从服务器获取 TimeZone 信息。我有时看到您需要获取 TimeZOne 信息以将您的服务器和客户端保持在同一区域。

        例如,如果您的设备与服务器同步,如果您将设备带到与本地服务器同步的不同位置,您可能希望将设备时区信息设置为本地服务器时区。

        在这种情况下,将客户端时区设置为服务器时区非常重要,否则您的客户端会显示不同/原始时区的时间。

        我认为您可以考虑诸如“DHCP 选项”、“NTP 服务器”之类的选项,但我不知道该问题的确切解决方案。

        【讨论】:

          【解决方案4】:

          如果您使用 .NET Framework 3.5,您可以使用 TimeZoneInfo 类来检索时区信息...

          // Get time in local time zone 
          DateTime thisTime = DateTime.Now;
          Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(thisTime) ?
                            TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName, thisTime);
          Console.WriteLine("   UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(thisTime, TimeZoneInfo.Local));
          // Get Tokyo Standard Time zone
          TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
          DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);      
          Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(tstTime) ?
                            tst.DaylightName : tst.StandardName, tstTime);
          Console.WriteLine("   UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));
          

          TimeZoneInfo class

          【讨论】:

            猜你喜欢
            • 2018-11-04
            • 1970-01-01
            • 2018-10-28
            • 2017-09-19
            • 2015-07-10
            • 2011-01-16
            • 2013-07-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多