新聞中心
時間加減 C語言
在VC中我是這樣弄的:
創(chuàng)新互聯(lián)成立與2013年,先為聶拉木等服務(wù)建站,聶拉木等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為聶拉木企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
SYSTEMTIME time;
::GetSystemTime(time);\\取當(dāng)前時間,time為一個臨時的變量
CTime now=time;\\將當(dāng)前時間存到CTime變量中
\\輸入要進(jìn)行對比的時間存入time中,比如下面(對比時間是2006年8月20日):
time.wYear=2006;
time.wMonth=8;
time.wDay=20;
CTime cmptime=time;\\將要對比的時間放到另一個CTime變量中
CTimeSpan overtime=now-cmptime;\\比較時,兩時間直接作差,保存在CTimeSpan變量中,這個值有正負(fù),overtime雖然是CTimeSpan類型的,但是用法和CTime一樣
int overdays=overtime.GetDays();\\取天數(shù)差距,本例中就為9(今天是8月29日),如果剛才now-cmptime換成cmptime-now,現(xiàn)在的值就是-9
int overdays=overtime.GetMonths();同上,取月差距,其他方法一樣,年,分,秒都能比較
自己回去試一試吧,應(yīng)該有滿意的效果!
我也是琢磨了很長時間才弄出來,個人覺得算是比較方便的方法了,正如你所說,時間的計算比較復(fù)雜,容易出錯,不如讓提供好的MFC類對時間進(jìn)行處理,省去不必要的麻煩!
C語言計算時間函數(shù)
標(biāo)準(zhǔn)庫的time.h里有時間函數(shù)
time_t time (time_t *timer)
計算從1970年1月1日到當(dāng)前系統(tǒng)時間,并把結(jié)果返回給timer變量,
函數(shù)本身返回的也是這個結(jié)果.time_t這個類型其實就是一個int.
另有:
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所儲存的時間的差.
c語言時間函數(shù)的具體使用方法,時間的加減
#include?stdio.h
#include?time.h?
int?main()
{?
time_t?rawtime;?
struct?tm?*?timeinfo;?
time?(?rawtime?);?
timeinfo?=?localtime?(?rawtime?);?
printf?(?"The?current?date/time?is:?%s",?asctime?(timeinfo)?);?
return?0;
}
說明:
time_t // 時間類型(time.h 定義)?
struct tm { // 時間結(jié)構(gòu),time.h 定義如下:?
int tm_sec;?
int tm_min;?
int tm_hour;?
int tm_mday;?
int tm_mon;?
int tm_year;?
int tm_wday;?
int tm_yday;?
int tm_isdst;?
}?
time ( rawtime ); // 獲取時間,以秒計,從1970年1月一日起算,存于rawtime?
localtime ( rawtime ); //轉(zhuǎn)為當(dāng)?shù)貢r間,tm 時間結(jié)構(gòu)?
asctime() // 轉(zhuǎn)為標(biāo)準(zhǔn)ASCII時間格式:?
//就是直接打印tm,tm_year 從1900年計算,所以要加1900,月tm_mon,從0計算,所以要加1
文章題目:c語言時間加減的函數(shù),c語言時間
文章出自:http://fisionsoft.com.cn/article/hopsii.html