Użyj interfejsu API SetTimeZoneInformation Nie sądzę, że stwardnienie rozsiane przewidziało twoją potrzebę, ale może być możliwe zdefiniowanie niestandardowej strefy czasowej z 10-minutowym przesunięciem. Ten artykuł zawiera przykładowe dane do zastąpienia tabeli stref czasowych - z niewielką poprawką można osiągnąć to, co chcesz.
Aktualizacja - oto, co zebrałem z różnych dokumentów MS
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Time Zones \ Afganistan 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” = „Afganistan czas letni”
„Std” = „Afganistan Standard Time”
Powyżej jest przykładowy wpis rejestru. Zwróć uwagę na klucz i wartość TZI
Ta struktura [TZI] określa informacje specyficzne dla strefy czasowej.
Kopiuj
typedef struct _TIME_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName [32];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName [32];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
} TIME_ZONE_INFORMATION;
Stronniczość
Określa bieżące odchylenie w minutach dla tłumaczenia czasu lokalnego na tym komputerze.
Odchylenie jest różnicą, w minutach, między czasem UTC i czasem lokalnym.
Wszystkie tłumaczenia między czasem UTC a czasem lokalnym oparte są na następującej formule.
UTC = czas lokalny + stronniczość
Powyższe dotyczy WinCE, ale spodziewam się, że XP / Vista / 7 mają podobną strukturę dla TZI. Można to zweryfikować, dekodując niektóre istniejące wpisy rejestru i sprawdzając, czy struktura jest zgodna.
Odważna osoba może użyć Regedit do utworzenia nowych wpisów rejestru definiujących nową strefę czasową z odpowiednią wartością „stronniczości” TZI. Następnie mogli ustawić strefę czasową na właśnie utworzoną.