如何在c中获得合适的日志时间戳?

qgelzfjb  于 2023-02-18  发布在  其他
关注(0)|答案(2)|浏览(64)

我正在创建一个客户端-服务器应用程序。我想做一些日志记录。
服务器是C语言的,现在我把消息打印到终端,所以我可能会把它复制到sprintf,然后加上时间戳,我怎么做这个时间戳呢,它应该包括日期,小时,分钟,秒。

6yjfywim

6yjfywim1#

#include <time.h>
void timestamp()
{
    time_t ltime; /* calendar time */
    ltime=time(NULL); /* get current cal time */
    printf("%s",asctime( localtime(&ltime) ) );
}

在我的电脑上,它只打印

Wed Mar 07 12:27:29 2012

在这里查看整个时间相关函数https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html

ttisahbt

ttisahbt2#

请在下面找到Pavan答案的线程安全版本。

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

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

有关详细信息,请参阅this

相关问题