C语言中时间的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中时间的问题相关的知识,希望对你有一定的参考价值。
想找个可以计算出时间经过多少的C语言含数
比如 时间一:2008-03-13 时间二:2010-06-06
然后可以算出这两个时间的差是多少天
请问C语言中有没有这样的含数来直接用 有的话是什么?
如果没有的话 自己编写怎么样才能达到?
time_t t1,t2;
先要用2008-03-13 和 2010-06-06 分别建两个time_t,再调用difftime(t2,t1)
得到的是秒
换算天 -- 一天是 86400秒,除一除就有了
构时间:
struct tm * target_time;
target_time->tm_year = 2008 - 1900;
target_time->tm_mon= 3 - 1; // month - 1
target_time->tm_mday = 15 ; // day
target_time->tm_hour = 0 ; // hour
target_time->tm_min = 0 ;
target_time->tm_sec = 0 ;
t1 = mktime (target_time);
target_time->tm_year = 2010 - 1900;
target_time->tm_mon= 6 - 1; // month - 1
target_time->tm_mday = 6 ; // day
target_time->tm_hour = 0 ; // hour
target_time->tm_min = 0 ;
target_time->tm_sec = 0 ;
t2 = mktime (target_time);
计算时间差:
long double dif,tian;
dif = difftime (t2,t1);
tian = dif / 86400.0;
别忘了头文件:
#include <time.h> 参考技术A 好像没有这样的函数。自己写吧,无非就是判断最后相加,判断一下闰年和非闰年,先算2008-3-13到2010-3-13天数,每年365天,如果有闰年366天,然后再算2010-3-13到6-6号。不过这个算法笨了点呵呵。
以上是关于C语言中时间的问题的主要内容,如果未能解决你的问题,请参考以下文章