Часовой пояс Solaris в C (отсутствует% z в strftime)

StackOverflow https://stackoverflow.com/questions/172318

  •  05-07-2019
  •  | 
  •  

Вопрос

У меня есть приложение, которое пишет в другое приложение и должно указать дату + часовой пояс системы. Я использовал strftime с аргументом % z для получения часового пояса, и он очень хорошо работал в Linux. Однако на прошлой неделе мы решили объединить его с Solaris, чтобы выяснить, что % z нет.

Кто-то предложил использовать % Z , который даст имя часового пояса, но мне нужен% z, который дает часовой пояс с форматом смещения, например +0100 или <код> -0300 .

У кого-нибудь есть идеи?

Это было полезно?

Решение

% z не POSIX. Вам нужно будет самостоятельно рассчитать смещение, найдя разницу между местным и gmtime.

Пример Perl см. здесь .

scroll top