Мне нужно получить смещение UTC текущего часового пояса в Perl кросс-платформенным способом (Windows и различные варианты Unix). Должен соответствовать этот формат:
zzzzzz, что представляет ± чч: мм по отношению к UTC
Похоже, я смогу получить его через strftime()
, но это не похоже на согласованность.
Unix:
Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: -0700
Windows
Input: perl -MPOSIX -e "print strftime(\"%z\", localtime());"
Output: Mountain Standard Time
Хотя кажется, что Unix дает мне то, что я хочу (или, по крайней мере, что-то близкое), Windows - нет. Я почти уверен, что смогу сделать это с Date::Time
или подобным, но мне бы очень хотелось, чтобы у меня не было никаких зависимостей, которые я не могу гарантировать пользователю из-за нашей широкой базы установки.
Я что-то упускаю здесь очевидное? Заранее спасибо.