1

基本上我想将美国时间(托管服务器时间)转换为 GMT(英国夏令时间)

技术 C#、.NET 4.0、TimeZoneInfoClass

详细场景:

我正在创建一个短信发送应用程序。它不应该从英国时间或格林威治标准时间晚上 10 点到早上 6 点 30 分发送短信。

服务器位于美国或假设在世界任何地方。

所以我的方法是

  • 我假设托管服务器具有自动日光调整补丁。所以我不检查托管服务器夏令时。那样行吗??

  • 它会自动调整为美国时间,我会得到正确的时间UTCNow()

  • 我从timezoneinfoclassorTime.UTCNow()方法获得 GMT 时间。现在我有正确的 UTC 时间,我必须检查夏令时到英国时间(目标时区)

  • 最后,我检查目标时区(即英国)的参数,例如Datetime,UTCoffset,IsDayLightSaving,SupportDaylightSaving基于机器时区 ID(GMT 时区伦敦..)。eg:-timezoneid.local.searchbyma..(GMT) //*语法)

    if (IsDayLightSaving==true)
    {
        UTC.AddHours(1)   //syntax is not correct
    }
    else
    {
        // GMT= UK time
    }
    

操作系统我有以下问题:-

  1. 这是一种好方法还是有缺陷的方法?有哪些替代方案?

  2. 我是否应该检查托管时区的夏令时,然后如果是 DST,则通过增加一小时来纠正偏移量?

  3. 任何获得 GMT 时间的免费可靠网络服务?

请建议

谢谢

4

0 回答 0