Как добиться этого конкретного формата даты и времени, используя boost? - PullRequest
1 голос
/ 16 февраля 2011

Я хочу отформатировать дату и время следующим образом:

ГГГГММДД_ЧЧММСС

например, 4 цифры года, затем 2 цифры месяцев с последующимна день с двумя цифрами, подчеркивание, 24-часовой час, две цифры минут , две цифры секунд.

например: 16 февраля 2011 года, 8:05 утра и 2 секунды будут:

20110216_080502

Какую строку формата мне следует использовать в следующем коде для достижения этой цели?(И, если необходимо, какие изменения кода необходимы):

//...#includes, namespace usings...

ptime now = second_clock::universal_time();

wstringstream ss;
time_facet *facet = new time_facet("???"); //what goes here?
ss.imbue(locale(cout.getloc(), facet));
ss << now;

wstring datetimestring = ss.str();

Вот несколько строк, которые я пробовал до сих пор:

% Y% m% d_% H% M% S : "2011-февраль-16 16:51:16"

% Y% m% d : "2011-февраль-16"

% H% M% S : "16:51:16"

Вот еще один:

% Y : "2011-Feb-16 16:51:16 " ах ??

Ответы [ 3 ]

3 голосов
/ 16 февраля 2011

Я считаю, что вам нужно использовать wtime_facet, а не time_facet. См. рабочую программу , которую я отправил на ваш другой вопрос.

1 голос
/ 16 февраля 2011
  time_facet *facet = new time_facet("%Y%m%d_%H%M%S");
1 голос
/ 16 февраля 2011
...