失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 将time_t格式的字符串转换成具体的时间 存放在SystemTime结构体中

将time_t格式的字符串转换成具体的时间 存放在SystemTime结构体中

时间:2020-03-25 11:00:06

相关推荐

将time_t格式的字符串转换成具体的时间  存放在SystemTime结构体中

记录下,方便日后直接使用

直接上源码:

先来个结构体定义:

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结构体中》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。