В Linux мне нужно найти текущий настроенный часовой пояс как местоположение Олсона. Я хочу, чтобы мой код (C или C ++) был переносим на максимально возможное количество систем Linux.
Например. Я живу в Лондоне, поэтому мое нынешнее местоположение Олсона - "Европа / Лондон". Я не заинтересован в идентификаторах часовых поясов, таких как "BST", "EST" и т. Д.
У Debian и Ubuntu есть файл /etc/timezone
, который содержит эту информацию, но я не думаю, что я могу полагаться на то, что этот файл всегда будет там, могу ли я? В Gnome есть функция oobs_time_config_get_timezone()
, которая также возвращает правильную строку, но я хочу, чтобы мой код работал в системах без Gnome.
Итак, каков наилучший общий способ получения текущего настроенного часового пояса как местоположения Олсона в Linux?