我需要获得以下格式的时间戳,其中包括UTC的时区偏移量:
2014-03-07T10:03:50 + 02:00
我正在尝试这种方法,但是在没有正确格式化时区信息的情况下将其设为UTC:
time_t now;
time(&now);
char ts[sizeof "1970-01-01T00:00:00+00:00"];
strftime(ts, sizeof ts, "%FT%T%z", gmtime(&now));
printf("Timestamp: %s\n\n", ts);
这就是结果:
2014-03-07T09:29:40 +的 0200
答案 0 :(得分:1)
Man 7 strftime根据格式规范格式格式化时间tm
。其中一种格式%z
默认情况下输出数字时区为hhmm
,而小时和分钟之间没有冒号:
,
%z
:+hhmm
或-hhmm
数字时区(即UTC的小时和分钟偏移量)。 (SU)