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

最佳答案

Man 7 strftime根据格式规范格式格式化时间tm。格式%z之一默认在小时和分钟之间将数字时区输出为hhmm而没有冒号:
%z:+hhmm-hhmm数字时区(即距UTC的小时和分钟偏移量)。 (SU)

关于c++ - C/C++获取带有时区偏移量信息的时间戳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22246281/

10-10 00:16
查看更多