【发布时间】:2014-03-07 17:43:28
【问题描述】:
我需要以以下格式获取时间戳,其中包括与 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
【问题讨论】:
-
你试过localtime而不是gmtime吗?
-
@Myforwik
localtime是当地时间,如果他住在不同的时区怎么办? -
是的,我都试过了,我试图在时区偏移小时和分钟之间获取冒号,例如 02:00 而不是 0200
-
调用 strftime 后不直接插入冒号有什么原因吗?