unix下,以下可以将字符串转成时间,也可以将时间转成字符串(注意,字符串转时间,数据不能非法,非法数据转换得到错误的数据)
tm tm1,tm2;
char buf[128]= {0};
strcpy(buf, "2022-05-11 14:01:02");
strptime(buf, "%Y-%m-%d %H:%M:%S", &tm1);
tm1.tm_isdst = -1;
strcpy(buf, "2022-15-11 14:02:03");
strptime(buf, "%Y-%m-%d %H:%M:%S", &tm2);
tm2.tm_isdst = -1;
time_t t1, t2;
t1 = mktime(&tm1);
t2 = mktime(&tm2);
int n = t2-t1;
tm1 = *localtime(&t2);
tm2 = *localtime(&t1);
strftime(buf, 64, "%Y-%m-%d %H:%M:%S", &tm1);
strftime(buf, 64, "%Y-%m-%d %H:%M:%S", &tm2);