项目中遇到一定要使用如下格式进行时间传递
ISO8601格式yyyy-MM-dd'T'HH:mm:ss.SSSzzz
借鉴了stackover的做法,实现一个简单的满足自己的要求。
time_t now;
time(&now);
char buf[sizeof "2011-10-08T07:07:09.000+08:00"];
strftime(buf, sizeof buf, "%FT%T.000+08:00", gmtime(&now));
输出
2021-01-06T10:22:27.000+08:00
如此可以满足后台变态的要求。
这应该是实现这种格式最简单的实现了,要是使用其他方法,可能需要使用毫秒级别的库。实在是太忙了,没时间做过多解释。如有不对的地方,欢迎指正。