VC++ 獲得體系時光的辦法匯總。本站提示廣大學習愛好者:(VC++ 獲得體系時光的辦法匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是VC++ 獲得體系時光的辦法匯總正文
1.應用CTime類(獲得體系以後時光,准確到秒)
CString str; //獲得體系時光 CTime tm; tm=CTime::GetCurrentTime();//獲得體系日期 str=tm.Format("如今時光是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK);
a,從CTimet中提取年代日時分秒
CTime t = CTime::GetCurrentTime(); int d=t.GetDay(); //取得幾號 int y=t.GetYear(); //獲得年份 int m=t.GetMonth(); //獲得以後月份 int h=t.GetHour(); //獲得以後為幾時 int mm=t.GetMinute(); //獲得分鐘 int s=t.GetSecond(); //獲得秒 int w=t.GetDayOfWeek(); //獲得禮拜幾,留意1為禮拜天,7為禮拜六
b,盤算兩段時光的差值,可使用CTimeSpan類,詳細應用辦法以下:
CTime t1( 1999, 3, 19, 22, 15, 0 ); CTime t = CTime::GetCurrentTime(); CTimeSpan span=t-t1; //盤算以後體系時光與時光t1的距離 int iDay=span.GetDays(); //獲得這段時光距離共有若干天 int iHour=span.GetTotalHours(); //獲得總共有若干小時 int iMin=span.GetTotalMinutes();//獲得總共有若干分鐘 int iSec=span.GetTotalSeconds();//獲得總共有若干秒
c,取得以後日期和時光,並可以轉化為CString
CTime tm=CTime::GetCurrentTime(); CString str=tm.Format("%Y-%m-%d");//顯示年代日
2.應用GetLocalTime:Windows API 函數,獲得本地確當前體系日期和時光 (准確到毫秒)
此函數會把獲得的體系時光信息存儲到SYSTEMTIME構造體裡邊
typedef struct _SYSTEMTIME { WORD wYear;//年 WORD wMonth;//月 WORD wDayOfWeek;//禮拜:0為禮拜日,1為禮拜一,2為禮拜二…… WORD wDay;//日 WORD wHour;//時 WORD wMinute;//分 WORD wSecond;//秒 WORD wMilliseconds;//毫秒 }SYSTEMTIME,*PSYSTEMTIME;
例:
SYSTEMTIME st; CString strDate,strTime; GetLocalTime(&st); strDate.Format("%4d-%2d-%2d",st.wYear,st.wMonth,st.wDay); strTime.Format("%2d:%2d:%2d",st.wHour,st.wMinute,st.wSecond) ; AfxMessageBox(strDate); AfxMessageBox(strTime);
3.應用GetTickCount:從操作體系啟動到如今所經由(elapsed)的毫秒數,它的前往值是DWORD。(准確到毫秒)
//獲得法式運轉時光 long t1=GetTickCount();//法式段開端前獲得體系運轉時光(ms) Sleep(500); long t2=GetTickCount();();//法式段停止後獲得體系運轉時光(ms) str.Format("time:%dms",t2-t1);//前後之差即 法式運轉時光 AfxMessageBox(str); //獲得體系運轉時光 long t=GetTickCount(); CString str,str1; str1.Format("體系已運轉 %d時",t/3600000); str=str1; t%=3600000; str1.Format("%d分",t/60000); str+=str1; t%=60000; str1.Format("%d秒",t/1000); str+=str1; AfxMessageBox(str);
4.應用time_t time( time_t * timer ) : 僅應用C尺度庫(准確到秒)
獲得從尺度計時點(普通是1970年1月1日午夜)到以後時光的秒數
盤算時光差:double difftime( time_t timer1, time_t timer0)
struct tm *localtime(const time_t *timer); 獲得本地時光,localtime獲得的成果由構造tm前往
前往的字符串可以依以下的格局而定:
%a 禮拜幾的縮寫。Eg:Tue
%A 禮拜幾的全名。 Eg: Tuesday
%b 月份稱號的縮寫。
%B 月份稱號的全名。
%c 當地端日期時光較佳表現字符串。
%d 用數字表現本月的第幾天 (規模為 00 至 31)。日期
%H 用 24 小時制數字表現小時數 (規模為 00 至 23)。
%I 用 12 小時制數字表現小時數 (規模為 01 至 12)。
%j 以數字表現昔時度的第幾天 (規模為 001 至 366)。
%m 月份的數字 (規模由 1 至 12)。
%M 分鐘。
%p 以 ''AM'' 或 ''PM'' 表現當地端時光。
%S 秒數。
%U 數字表現為今年度的第幾周,第一個禮拜由第一個周日開端。
%W 數字表現為今年度的第幾周,第一個禮拜由第一個周一開端。
%w 用數字表現本周的第幾天 ( 0 為周日)。
%x 不含時光的日期表現法。
%X 不含日期的時光表現法。 Eg: 15:26:30
%y 二位數字表現年份 (規模由 00 至 99)。
%Y 完全的年份數字表現,即四位數。 Eg:2008
%Z(%z) 時區或稱號縮寫。Eg:中國尺度時光
%% % 字符。
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。