Часовой пояс Solaris в C (отсутствует% z в strftime)
Вопрос
У меня есть приложение, которое пишет в другое приложение и должно указать дату + часовой пояс системы. Я использовал strftime с аргументом % z
для получения часового пояса, и он очень хорошо работал в Linux. Однако на прошлой неделе мы решили объединить его с Solaris, чтобы выяснить, что % z
нет. Р>
Кто-то предложил использовать % Z
, который даст имя часового пояса, но мне нужен% z, который дает часовой пояс с форматом смещения, например +0100
или <код> -0300 код>.
У кого-нибудь есть идеи?
Решение
% z не POSIX. Вам нужно будет самостоятельно рассчитать смещение, найдя разницу между местным и gmtime.
Пример Perl см. здесь а>. р>
Не связан с StackOverflow