Re[2]: Конвертация формата даты (С)
От: Scott Tiger Россия  
Дата: 15.06.06 07:57
Оценка:
Здравствуйте, nau, Вы писали:

nau>Здравствуйте, Scott Tiger, Вы писали:


ST>>Привет.


ST>>Есть строка с датой следующего вида:


ST>>Tue Jun 13 12:30:55 MSD 2006,


ST>>т.е. формат %a %b %e %T %Z %Y


ST>>Задача — сконвертировать в time_t и вернуть как UTC. С mktime(3C) разобрался, непонятно только, что делать с врееменной зоной (которая в данном примере — MSD) — как распарсить это значение?...


ST>>C, POSIX, но можно и со спецификой Solaris

nau>man strptime. gettime немного не то.

Спасибо. Вот только со strptime выяснилась неприятная особенность её неработоспособности (год и час уходят в 0) в случае, если $TZ — это не то, что %Z в строке. Т.е., мой пример работает нормально, только если $TZ=Europe/Moscow. Аналогично, если в строке поставить GMT, то будет работать только с $TZ=GMT, а с московской зоной всё те же нули. Нашёл сообщение в comp.unix.solaris за 1998 год с такой же проблемой в Solaris 2.6, задумался.
Куаукутсу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.