Синтаксис, который вы пробовали, не существует.
Я бы вызвал функцию дважды: один раз с "%Y-%m-%d %H%M%S "
и один раз с "%z"
, вручную добавьте :
во вторую строку и затем объедините их.
Чтобы вставить :
, вы можете выполнить некрасивую манипуляцию с буфером:
buf2[5]=buf2[4];
buf2[4]=buf2[3];
buf2[3]=':';
strcat(buf,buf2);
Обратите внимание, что макет вряд ли изменится для этих конкретных данных, поэтому он не так безобразен.
0r, если вы действительно любите overkill, регулярное выражение. Но вам понадобится внешняя библиотека.