以下均为个人理解:
1.localtime 将 time_t (从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,是一个8字节长度的有符号整数)格式数据转化为以下结构体形式:
struct tm {
int tm_sec; /* seconds after the minute - [0,59] */
int tm_min; /* minutes after the hour - [0,59] */
int tm_hour; /* hours since midnight - [0,23] */
int tm_mday; /* day of the month - [1,31] */
int tm_mon; /* months since January - [0,11] */
int tm_year; /* years since 1900 */
int tm_wday; /* days since Sunday - [0,6] */
int tm_yday; /* days since January 1 - [0,365] */
int tm_isdst; /* daylight savings time flag */
};
在进行使用时只需要这样调用即可(引入time.h头文件): struct tm * tmS = localtime(time_t * p);
2.获取当前时间:这是一个localtime简单使用函数
time_t now;
struct tm * tmS;
time_t startTime;
unsigned char chargingTime[10]={0};
now = time(NULL);
tmS = localtime(&now);
struct tm * tmS = localtime(&startTime);
sprintf(chargingTime,"[%04d][%02d][%02d][%02d][%02d]", tmS->tm_year+1900,tmS->tm_mon+1,tmS->tm_mday,tmS->tm_hour, tmS->tm_min);