Получение определенного часового пояса в .net CF 3.5? - PullRequest
2 голосов
/ 17 марта 2009

Я бы хотел, чтобы на моем PocketPC были часы World Clock. Получение местного времени не проблема, а получение времени UTC - еще меньше проблем. Но я не могу получить конкретный часовой пояс? Скажем, я хочу текущий часовой пояс для Нью-Йорка, не зная, летнее ли это время или нет (поэтому я не знаю, восточное ли это время (GMT-5) или восточное дневное время (GMT-4)).

К сожалению, TimeZoneInfo, по-видимому, не существует в Compact Framework, поэтому мне интересно, не существует ли другого способа, кроме ручного жесткого кодирования изменений летнего времени для желаемых часовых поясов в течение следующих 10 лет, чтобы получить надлежащее преобразование ...

Редактировать: TimeZone существует, но это абстрактный класс, который мне нужно реализовать самому, чего я бы хотел избежать, потому что он подвержен ошибкам и требует некоторого волшебства в даты Оборота DST.

Ответы [ 4 ]

3 голосов
/ 17 марта 2009

Библиотека OpenNetCF поддерживает Часовые пояса .

РЕДАКТИРОВАТЬ: Compact Framework поддерживает TimeZone , но, как отметил Майкл, это абстрактный класс!

0 голосов
/ 30 марта 2009

Взгляните на http://www.michaelbrumm.com/simpletimezone.html. Также есть способ получить информацию о часовых поясах из реестра (не только ваш местный часовой пояс), см. http://msdn.microsoft.com/en-us/library/ms725481(VS.85).aspx

ОБНОВЛЕНИЕ: возможно, это могло бы помочь: http://social.msdn.microsoft.com/forums/en-US/windowsgeneraldevelopmentissues/thread/feed3c46-18ea-4d5a-b5cf-7d85823fae01/

Я не уверен, есть ли у компактного устройства та же информация, но вы можете извлечь часовые пояса из ПК, а затем сохранить их в структуре или файле на компактном устройстве. Но тогда вам, вероятно, придется обновлять его время от времени, так как эти вещи, как правило, меняются.

0 голосов
/ 26 марта 2009

Как насчет использования веб-службы для загрузки актуальной информации о часовом поясе?

http://www.twinsun.com/tz/tz-link.htm

0 голосов
/ 26 марта 2009
...