Как установить часовой пояс на frecnh zone + windows ce

Мне нужно установить часовой пояс на моем мобильном устройстве, чтобы французская зона в C# (Windows Embedded CE)

как я могу это сделать, пожалуйста?

2 ответа

Решение

Вы не можете установить TimeZone для города / местоположения, вы можете только установить данные DST.

Смотрите мой пост здесь: http://community.intermec.com/t5/Device-Management/change-Time-Zone-with-xml/m-p/17007/highlight/true

================================================== ========== Вы не можете установить имя TimeZone, используя реестр!

Вы можете установить только значения Offset и DST. Панель часов затем использует соответствующую запись.

В реестре значения для "GMT-7 (Mountain US)" и "GMT-7 (Arizona)" практически одинаковы

[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock] "AppInfo"=hex(3):01,00,00,00,80,01,00,00,0f,00,00,00,00,00,00,00,00,00,00,00,3a,01,00,00,69,00,00,00,00,00,00,00,00,00,00,00 "AppState" = hex (3): 11 " AutoDST "= dword: 00000000" GMT_OFFSET "= dword: 000001A4" HomeDST "= dword: 00000000" NetworkTimeNotifyUser "= dword: 00000001" NetworkTimeSync "= dword: 00000001" TZIndex "= dword: 00000004

(см. также http://peterfoot.net/HomeAndVisitingClocksInProfessionalEdition.aspx)

а также

[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock] "AppInfo"=hex(3):01,00,00,00,80,01,00,00,0a,00,00,00,00,00,00,00,01,00,00,00,3a,01,00,00,69,00,00,00,00,00,00,00,01,00,00,00 "AppState"=hex(3):11 "AutoDST"=dword:00000000 "GMT_OFFSET"=dword:000001A4 "HomeDST"=dword:00000001 "NetworkTimeNotifyUser"=dword:00000001 "NetworkTimeSync"=dword:00000001 "TZIndex"=dword:00000004

Но, как вы можете видеть, нет строки имени часового пояса.

[HKEY_LOCAL_MACHINE \ Time] "TimeZoneInformation" = hex (3): a4,01,00,00,55,00,53,00,20,00,4d, 00,6f, 00,75,00,6e, 00, 74,00,61,00,69,00,6e, 00,20,00,53,00,74,00,61,00,6e, 00,64,00,61,00,72,00,64, 00,20,00,54,00,69,00,6d, 00,65,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,55,00,53,00,20, 00,4d, 00,6f, 00,75,00,6e, 00,74,00,61,00,69,00,6e, 00,20,00,44,00,61,00,79,00, 6с,00,69,00,67,00,68,00,74,00,20,00,54,00,69,00,6d,00,65,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,c4, и далее, и далее, и далее

а также

[HKEY_LOCAL_MACHINE\Time] "TimeZoneInformation"=hex(3):a4,01,00,00,4d,00,6f,00,75,00,6e,00,74,00,61,00,69,00,6е,00,20,00,53,00,74,00,61,00,6e,00,64,00,61,00,72,00,64,00,20,00,54,00,69,00,6d,00,65,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0b,00,00,00,01,00,02,00,00,00,00,00,00,00,00,00,00,00,4d,00,6f,00,75,00,6e,00,74,00,61,00,69,00,6e,00,20,00,44,00,61,00,79,00,6c,00,69,00,67,00,68,00,74,00,20,00,54,00,69,00,6d,00,65,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00,c4, и далее, и далее, и далее

Это TimeZoneInformations (структура TIME_ZONE_INFORMATION).

Clipboard02.gif

Вы можете запросить информацию о часовом поясе города db, как это сделано в прикрепленном файле (TZ-towns.txt).

Прикрепленный инструмент (timezoneset.exe) можно использовать для изменения смещения текущего активного часового пояса.

Информация о часовом поясе для Праги и Берлина одинакова:

индекс: 95 короткое имя: GMT+1 Прага, Будапешт имя: Центральное европейское стандартное время GMT смещение: -60 имя dst: Центральное европейское летнее время DST смещение: 0 ...

индекс: 110 короткое имя: GMT+1 Берлин, Римское имя: W. Стандартное время Европы GMT смещение: -60 имя dst: W. Европейское летнее время DST смещение: 0

кроме имени дст.

Не рекомендуется устанавливать информацию о часовом поясе с помощью реестра.

Вы можете использовать эту библиотеку для облегчения вашей разработки: https://opennetcf.codeplex.com/

Я использую его и устанавливаю часовой пояс с помощью следующих объектов: TimeZoneCollection, TimeZoneInformation, DateTimeHelper.

Другие вопросы по тегам