Преобразование времени C # в GMT (летнее время в Великобритании) с учетом перехода на летнее время, смещение в Великобритании и на хостинге (США) - PullRequest
1 голос
/ 30 октября 2011

В основном я хочу преобразовать время США (время сервера) в GMT (летнее время Великобритании)

технология C #, .NET 4.0, TimeZoneInfoClass

Подробный сценарий:

Я создаю приложение для отправки SMS. Не следует отправлять смс с 10:00 до 6:30 по британскому времени или по Гринвичу.

Сервер находится в США или, предположим, в любой точке мира.

Так что мой подход

  • Я предполагаю, что на хостинг-сервере есть автоматическое исправление дневного света. Поэтому я не проверяю сервер на летнее время. Это нормально ??

  • Он корректируется по времени США автоматически, и я получу правильное время через UTCNow()

  • Я получаю время по Гринвичу из метода timezoneinfoclass или Time.UTCNow(). Теперь у меня есть правильное время UTC, и я должен проверить летнее / зимнее время (британский часовой пояс)

  • , наконец, я проверяю параметр для целевого часового пояса (например, в Великобритании), например, Datetime,UTCoffset,IsDayLightSaving,SupportDaylightSaving на основе идентификатора часового пояса машины (часовой пояс GMT, Лондон ..). Например: -timezoneid.local.searchbyma .. (GMT) // * Синтаксис)

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

ОС У меня есть следующие вопросы: -

  1. Это хороший подход или ошибочный? Какие есть альтернативы?

  2. Должен ли я проверить летнее время для хостинга часового пояса, а затем исправить смещение, добавив один час, если это летнее время ??

  3. Какие-нибудь бесплатные надежные веб-сервисы для получения времени по Гринвичу?

Пожалуйста, предложите

Спасибо

...