How to get appropriate timestamp in c for logs?

2019-01-28 01:32发布

I'm creating a client-server application. I want to do some logging.

Server is in C. Now I'm print messages to the terminal. So I'll probably just copy that to sprintf and add timestamp. How can I do that timestamp? It should probably include date, hours, minutes, seconds.

2条回答
\"骚年 ilove
2楼-- · 2019-01-28 02:02
#include <time.h>
void timestamp()
{
    time_t ltime; /* calendar time */
    ltime=time(NULL); /* get current cal time */
    printf("%s",asctime( localtime(&ltime) ) );
}

On my PC, it just prints

Wed Mar 07 12:27:29 2012

Check out the whole range of time related functions here http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html

查看更多
做自己的国王
3楼-- · 2019-01-28 02:11

Please find the thread safe version of Pavan's answer below.

time_t ltime;
struct tm result;
char stime[32];

ltime = time(NULL);
localtime_r(&ltime, &result);
asctime_r(&result, stime);

Please refer to this for more details.

查看更多
登录 后发表回答