ddkprog писал(а):
парсишь какое там от GMT смещение, переводишь это смещение в unixtime stamp и плюсуешь к тому времени что уже получил
Я получил MSK. Какое у MSK смещение? В прошлом году это было UTC+3, в этом году уже UTC+4.
Ну ладно MSK -- я про него знаю, а какая-нибудь Ангола? Я даже не знаю как называется их таймзона, не говоря уже о смещении
и переходе на летнее время.
ddkprog писал(а):
ты хочешь парсить время с учетом уже базы tz
ну глянь в man time man localtime
что там по tz_name
Это константа, зовется __tz_name для BSD - tz_zone, в структуре tm.
Проблема в том, что туда ничего не записать.
Есть tzset, которая устанавливает внутренние переменные tzname, timezone, daylight на основе переменной окружения TZ.
Но TZ имеет свой собственный формат, просто MSK туда не записать.
Хранить же где-то соответствие MSK смещению +0300 при наличии tzdata глупо, плюс нужно загружать туда все обновления и т.д.
tm_isdst совершенно не то -- это флаг, есть ли переход на летнее/зимнее время.