Используйте API SetTimeZoneInformation. Я не думаю, что MS предвосхитил ваши потребности, но может быть возможно определить пользовательский часовой пояс с 10-минутным смещением. Эта статья содержит пример данных для замены таблицы часовых поясов - с небольшой поправкой вы можете достичь того, что вы хотите.
Обновление - вот что я почерпнул из различных документов MS
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Afghanistan Standard Time]
"TZI"=hex:f2,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,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
"Display"="(UTC+04:30) Kabul"
"Dlt"="Afghanistan Daylight Time"
"Std"="Afghanistan Standard Time"
Выше приведен пример записи реестра. Запишите ключ и значение TZI
This [TZI] structure specifies information specific to the time zone.
Copy
typedef struct _TIME_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName[32];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[32];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
} TIME_ZONE_INFORMATION;
Bias
Specifies the current bias, in minutes, for local time translation on this computer.
The bias is the difference, in minutes, between UTC and local time.
All translations between UTC and local time are based on the following formula.
UTC = local time + bias
Выше для WinCE, но я ожидаю, что XP/Vista/7 имеют аналогичную структуру для TZI. Это можно проверить, расшифровав некоторые существующие записи реестра и посмотрев, соответствует ли структура.
Смелый человек может использовать Regedit для создания новых записей реестра, определяющих новый часовой пояс с подходящим значением "смещения" TZI. Затем они могут установить свой часовой пояс на только что созданный.