C语言获取当前时间

C语言获取当前时间:


#include "stdio.h"
#include "time.h"

#define LOG_INFO(format, ...)                                                                           \
{                                                                                                       \
time_t t = time(0);                                                                                 \
struct tm ttt = *localtime(&t);                                                                     \
fprintf(stdout, "[INFO][%4d-%02d-%02d %02d:%02d:%02d] [%s:%s:%d] " format "",                     \
ttt.tm_year + 1900, ttt.tm_mon + 1, ttt.tm_mday, ttt.tm_hour,         \
ttt.tm_min, ttt.tm_sec, __FILE__,__FUNCTION__ , __LINE__, ##__VA_ARGS__);                            \
}

struct currentTime
{

int year;
int mounth;
int day;
int hour;
int minute;
int second;
int weekday;
int days;
int isdst;

}cTime;

void getCurrentTime(void)
{
time_t timep;
struct tm *p;
time(&timep);
p = localtime(&timep);

cTime.year = 1900+p->tm_year;
cTime.mounth = 1+p->tm_mon;
cTime.day = p->tm_mday;
cTime.hour = p->tm_hour;
cTime.minute = p->tm_min;
cTime.second = p->tm_sec;
cTime.weekday = p->tm_wday;
cTime.days = p->tm_yday;
cTime.isdst = p->tm_isdst; //是否是夏令时

}

int main(int argc, char **argv)
{
LOG_INFO("argc: %d\n",argc);
getCurrentTime();

LOG_INFO("cuurent time is: %d/%d/%d %d:%d:%d  weekday[%d]  days[%d]  isdst[%d]\n",
cTime.year , cTime.mounth,cTime.day,
cTime.hour,cTime.minute,cTime.second,
cTime.weekday,
cTime.days,
cTime.isdst);
}