Всем привет.
чем можно преобразовать такой формат даты в unix-time?
Sat, 03 Jul 2010 06:43:42 GMT
Здравствуйте, <Аноним>, Вы писали:
А>чем можно преобразовать такой формат даты в unix-time?
Вариант 1. Boost.Date_Time:
Date Time Input/Output +
Posix Time
Вариант 2. Регулярное выражение (или уже упомянутый sscanf) + собрать время любыми доступными средствами (например mktime)
D.K. << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Здравствуйте, Аноним, Вы писали:
А>чем можно преобразовать такой формат даты в unix-time?
А>Sat, 03 Jul 2010 06:43:42 GMT
Для начала стоит понять, откуда такой формат взялся. В принципе похоже на RFC2822, но, прежде чем кидаться кодировать, этому нужно получить документальное подтверждение.
Если это действительно RFC2822, то, помимо очевидного из исходного примера, придётся предусмотреть официально разрешённые вариации:
отсутствие дня недели;
день месяца из одной или двух цифр;
год с указанием века или без (устаревший синтаксис RFC822);
указание часового пояса в виде ±hhmm, буквы [A-IK-Za-ik-z] или идентификатора (UT|GMT|EST|EDT|CST|CDT|MST|MDT|PST|PDT) (устаревший синтаксис RFC822)
Кроме того, может понадобиться поддержка различных нестандартных извращений, связанных с тем, что некоторые криво написанные/сконфигурированные клиенты и серверы выдавали (выдают?) дни и месяцы на национальном (например, русском) языке в неуказанной кодировке.
Здравствуйте, Аноним, Вы писали:
А>Всем привет.
А>чем можно преобразовать такой формат даты в unix-time?
А>А>Sat, 03 Jul 2010 06:43:42 GMT
arpadate() в исходниках sendmail.