Поиск даты / времени перехода от стандартного к летнему времени и наоборот в CoreFoundation

Я пытаюсь повторить функциональность функции Windows GetTimeZoneInformation, который населяет TIME_ZONE_INFORMATION структура, используя CoreFoundation. Я сделал функцию, которая превращает CFAbsoluteTime вместе с CFTimeZoneRef в эквиваленте SYSTEMTIMEНо есть еще несколько вещей, которые я не могу понять. Например:

  • StandardDate а также DaylightDate: Я использовал CFTimeZoneGetNextDaylightSavingTimeTransition функция, чтобы найти следующий переход, и CFTimeZoneIsDaylightSavingTime чтобы определить, какой это переход, но так как TIME_ZONE_INFORMATION требует обе даты, как бы я найти переход после следующий переход?
  • Так же, DaylightBias — Я могу использовать CFTimeZoneGetDaylightSavingTimeOffset чтобы найти смещение, если мы в настоящее время в летнее время, но это значение обнуляется, если мы не в настоящее время в летнее время. Я знаю, что это почти всегда -60, но я бы хотел, чтобы эта функция оставалась полностью верной функции Windows.

Кто-нибудь знает хорошее решение для этого?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …