Я хочу использовать библиотеку date_time
в boost для представления времени в моем приложении. Это приложение будет генерировать фиды Atom, которые, в свою очередь, требуют отметок времени в формате, указанном в RFC 3339, например "1990-12-31T23:59:60Z" или "1990-12-31T15:59:60-08:00".
Итак, как мне отформатировать время в соответствии с этим RFC?
Я прочитал документацию по вводу/выводу даты и времени весь день, и я не могу понять, как поставить Z в конце, когда мне это нужно. Кроме того, RFC поддерживает необязательную долю секунды, но только одну ее цифру (например, «1990-12-31T23:59:60.5Z») (*). Я тоже не могу понять, как это сделать.
Я всегда мог бы написать свою собственную процедуру форматирования, которая считывает различные необходимые поля, но мне кажется, что это работает против сути библиотеки date_time
.
Есть ли опыт написания средств форматирования для этой библиотеки? Или я делаю не так?
(*): Мне кажется, что ABNF, приведенный в RFC, допускает только однозначные дробные секунды, но примеры в том же RFC имеют двузначные дробные секунды. Что это должно значить?