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