Как проанализировать дату ISO 8601 (с дополнительными миллисекундами) в структуру TM в C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Как проанализировать дату ISO 8601 (с дополнительными миллисекундами) в структуру TM в C ++?

Сообщение Anonymous »

У меня есть строка, которая должна указать дату и время в формате ISO 8601, которая может иметь или не иметь миллисекунд в ней, и я хочу получить структуру < /code> из нее, а также любое миллисекундное значение, которое могло быть указано (что можно было бы предположить, что это не так, что в строке). Правильный формат, а также преобразование определенной пользователя строки в структуру tm и millisecond? /> Как одно последнее предостережение, если это вообще возможно, я бы очень предпочел решение, которое не имеет никакой зависимости от функций, которые находятся только в Boost (но я рад принять C ++ 11 в качестве предпосылки). < /p>

Вход будет выглядеть как -то вроде: < /p>

Код: Выделить всё

2014-11-12T19:12:14.505Z
< /code>

или < /p>

2014-11-12T12:12:14.505-5:00
< /code>

Z
, в данном случае, указывает UTC, но любой часовой пояс можно использовать, и будет выражен как A + или - часы/минуты смещения от GMT. Десятичная часть поля секунд является необязательной, но тот факт, что он вообще может быть вообще, заключается в том, что я не могу просто использовать strptime () или std :: get_time () , которые не описывают какое -либо конкретное определенное поведение, если такой символ найден в части секунды строки.>

Подробнее здесь: https://stackoverflow.com/questions/268 ... ct-tm-in-c

Вернуться в «C++»