C / C ++获取时区偏移信息的时间戳

时间:2014-03-07 09:31:43

标签: c++ c

我需要获得以下格式的时间戳,其中包括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

1 个答案:

答案 0 :(得分:1)

Man 7 strftime根据格式规范格式格式化时间tm。其中一种格式%z默认情况下输出数字时区为hhmm,而小时和分钟之间没有冒号:

%z+hhmm-hhmm数字时区(即UTC的小时和分钟偏移量)。 (SU)