Formatting Unix timestamp with ctime in c

二次信任 提交于 2019-11-30 05:02:07

问题


I'm trying to format a 10-digit Unix time stamp (currently a string) using ctime.

However, ctime() expects a parameter of type time_t, not a string.

What must I do before I can use ctime? In other words, can I easily convert the string into a time_t?


回答1:


You're saying you have something like 1346426869 as a string and want it to be a time_t?

time_t raw_time = atoi("1346426869");
printf("current time is %s",ctime(&raw_time));

> current time is Fri Aug 31 11:27:49 2012



回答2:


The time_t type is just an integer. It is the number of seconds since the Epoch. You'll need to parse the string first.

Start here:

http://www.gnu.org/software/libc/manual/html_node/General-Time-String-Parsing.html#General-Time-String-Parsing

and work your way forward from there.



来源:https://stackoverflow.com/questions/12286369/formatting-unix-timestamp-with-ctime-in-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!