记录下,方便日后直接使用
直接上源码:
先来个结构体定义:
struct SystemTime{int year;///< 年。 int month;///< 月,January = 1, February = 2, and so on. int day;///< 日。 int wday;///< 星期,Sunday = 0, Monday = 1, and so on int hour;///< 时。 int minute;///< 分。 int second;///< 秒。 int isdst;///< 夏令时标识。 };
转换函数:
/*功能:将time_t格式的字符串转换成具体的时间, 存放在SystemTime结构体中return:true-成功, false-失败sysTime:[out]保存转换结果time_t_str:time_t形式的字符串表示方式*/bool getSystemTime(SystemTime& sysTime, const char* time_t_str){if(time_t_str && time_t_str[0]){time_t tt;sscanf(time_t_str, "%lu", &tt);tm* p = localtime(&tt);sysTime.year = p->tm_year + 1900;sysTime.month = p->tm_mon + 1;sysTime.day = p->tm_mday;sysTime.hour = p->tm_hour;sysTime.minute = p->tm_min;sysTime.second = p->tm_sec;return true;}return false;}
调用函数:
void test2(){const char* t = "1311906769";// 距1970-1-1 08:00:00的秒数(中国是东8区, 所以是8点)SystemTime s1;getSystemTime(s1, t);printf("%04d-%02d-%02d %02d:%02d:%02d\n", s1.year, s1.month, s1.day, s1.hour, s1.minute, s1.second);}
运行结果:
-07-29 10:32:49
如果觉得《将time_t格式的字符串转换成具体的时间 存放在SystemTime结构体中》对你有帮助,请点赞、收藏,并留下你的观点哦!