Formatting Unix timestamp with ctime in c

2019-02-13 16:41发布

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?

2条回答
聊天终结者
2楼-- · 2019-02-13 17:00

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
查看更多
Viruses.
3楼-- · 2019-02-13 17:16

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.

查看更多
登录 后发表回答