1、CTime類的static接口GetCurrentTime()
CTime類的對象表示的時間是基於格林威治標準時間(GMT)的。
CTime表示的日期上限是3000年12月31日,下限是1970年1月1日 12:00:00 AM GMT。
構造和初始化:
CTime(__time64_t time);
以一個__time64_t(注意:最前面的下劃線有兩條)類型的數據來構造一個CTime對象。參數time是一個__time64_t類型的值,表示自GMT時間1970年1月1日零點以來的秒數,這裏要注意的是,參數time代表的時間會轉換爲本地時間保存到構造的CTime對象中。例如,我們傳遞參數0構造一個CTime對象,然後調用CTime對象的GetHour成員函數將返回8,因爲參數0代表的GMT時間轉換爲北京時間後爲1970年1月1日 8:00:00。
CTime(
int nYear,
int nMonth,
int nDay,
int nHour,
int nMin,
int nSec,
int nDST = -1
);
以本地時間的年、月、日、小時、分鐘、秒等幾個時間分量構造CTime對象。注意年份取值範圍在1970-3000,如果不在該範圍內構造初始化的話,就會出現異常崩潰。
static CTime WINAPI GetCurrentTime( );
獲取系統當前日期和時間。返回表示當前日期和時間的CTime對象。
CTime tmp;
tmp = CTime::GetCurrentTime();
info.nYear = tmp.GetYear();
info.nMonth = tmp.GetMonth();
info.nDay = tmp.GetDay();
info.nHour = tmp.GetHour();
info.nMinute = tmp.GetMinute();
info.nSecond = tmp.GetSecond();
2、Windows api GetSystemTime()
CTime(const SYSTEMTIME& st,int nDST = - 1) ;
以一個SYSTEMTIME結構體變量來構造CTime對象。
SYSTEMTIME tmp;
GetSystemTime(&tmp);
info.nYear = tmp.wYear;
info.nMonth = tmp.wMonth;
info.nDay = tmp.wDay;
info.nHour = tmp.wHour;
info.nMinute = tmp.wMinute;
info.nSecond = tmp.wSecond;
3、window api GetLocalTime()(毫秒級)
SYSTEMTIME tmp;
GetLocalTime(&tmp);
info.nYear = tmp.wYear;
info.nMonth = tmp.wMonth;
info.nDay = tmp.wDay;
info.nHour = tmp.wHour;
info.nMinute = tmp.wMinute;
info.nSecond = tmp.wSecond;
info.nMillSecond = tmp.wMilliseconds;