Я пытаюсь повторить функциональность функции Windows GetTimeZoneInformation, который населяет TIME_ZONE_INFORMATION структура, используя CoreFoundation. Я сделал функцию, которая превращает CFAbsoluteTime
вместе с CFTimeZoneRef
в эквиваленте SYSTEMTIME
Но есть еще несколько вещей, которые я не могу понять. Например:
StandardDate
а также DaylightDate
: Я использовал CFTimeZoneGetNextDaylightSavingTimeTransition
функция, чтобы найти следующий переход, и CFTimeZoneIsDaylightSavingTime
чтобы определить, какой это переход, но так как TIME_ZONE_INFORMATION
требует обе даты, как бы я найти переход после следующий переход?DaylightBias
— Я могу использовать CFTimeZoneGetDaylightSavingTimeOffset
чтобы найти смещение, если мы в настоящее время в летнее время, но это значение обнуляется, если мы не в настоящее время в летнее время. Я знаю, что это почти всегда -60, но я бы хотел, чтобы эта функция оставалась полностью верной функции Windows.Кто-нибудь знает хорошее решение для этого?
Задача ещё не решена.
Других решений пока нет …