c – 将字符串从__DATE__转换为time_t
发布时间:2020-12-16 03:23:12 所属栏目:百科 来源:网络整理
导读:我正在尝试将从__DATE__宏生成的字符串转换为time_t.我不需要一个完整的日期/时间解析器,只处理__DATE__宏的格式将是巨大的. 一个预处理器的方法会很漂亮,但是一个函数也可以工作.如果相关,我正在使用MSVC. 解决方法 编辑:修正后的功能应该如下所示: time_
我正在尝试将从__DATE__宏生成的字符串转换为time_t.我不需要一个完整的日期/时间解析器,只处理__DATE__宏的格式将是巨大的.
一个预处理器的方法会很漂亮,但是一个函数也可以工作.如果相关,我正在使用MSVC. 解决方法
编辑:修正后的功能应该如下所示:
time_t cvt_TIME(char const *time) { char s_month[5]; int month,day,year; struct tm t = {0}; static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; sscanf(time,"%s %d %d",s_month,&day,&year); month = (strstr(month_names,s_month)-month_names)/3; t.tm_mon = month; t.tm_mday = day; t.tm_year = year - 1900; t.tm_isdst = -1; return mktime(&t); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |