【问题标题】:Converting Time to a specified country Time Zone将时间转换为指定国家时区
【发布时间】:2012-03-08 08:20:17
【问题描述】:

我在与我所在国家/地区不同时区的服务器上托管了一个网站,

如何在考虑夏令时的情况下将服务器时间转换为本地时间

【问题讨论】:

    标签: c# datetime


    【解决方案1】:
    DateTimeOffset newTime = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("AppTimeZone"));
    

    【讨论】:

      【解决方案2】:

      公然从其他 SO 问题中获取答案:

      在.NET 3.5中,有TimeZoneInfo,提供了很多这方面的功能; 2.0SP1 有DateTimeOffset,但这更有限。

      请参阅以下 SO 问题:

      Get DateTime For Another Time Zone Regardless of Local Time Zone

      Convert UTC DateTime to another Time Zone

      或者只是搜索SO 来寻找很多答案,包括一些考虑到Daylight Savings 的答案。

      【讨论】:

        【解决方案3】:

        你看过TimeZoneInfo 类吗?您应该能够在维护 DST 的同时通过那里转换本地时间和服务器时间。

        Jon Skeet 等还实现了开源时区。打电话给Noda-Time

        【讨论】:

          【解决方案4】:

          您可以使用 TimeZone 类将服务器的本地时间转换为 UTC,然后从 UTC 转换为您(或特定网站用户)的时区。

          【讨论】:

            猜你喜欢
            • 2019-05-29
            • 2022-12-18
            • 2021-03-20
            • 2016-02-22
            • 2015-11-22
            • 1970-01-01
            • 1970-01-01
            • 2021-03-10
            相关资源
            最近更新 更多