c语言中如何将年月日时分秒值转为秒数用unsigned int类型存储起来?

如题所述

C语言中使用时间需要引入 time.h 头文件

类型为 time_t实质上就是一个数值,可以在开发环境里找到它的定义, 会发现它是typedef long time_t
也就是说它是长整型的数据类型. 而在VC++6.0中, long和int的长度一样, 所以unsigned int是可以保存时间的, 但是一般就直接用time_t:

time_t time = time(0); //获取当前系统时间
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-17
time_t mktime(
struct tm *timeptr
); 把日期转换成整型
struct tm *localtime(
const time_t *timer
); 把整型转换成日期
要注意int可能不够用,至少需要long, 看 time_t 的定义。

至于字符串,则需要你自己把它拆分成年月日时分秒等值,然后填充tm结构体,然后mktime。
这些函数已经考虑了用尽量少的字节数存储尽量大的时间范围,一个int的表达范围太有限了。
你想用一个小数来精确地表达一个大数,这怎么可能呢?本回答被网友采纳
第2个回答  2015-07-21
一个int的表达范围太有限了。本回答被提问者采纳
相似回答