MFC 获取当前时间的几种方法总结
1.CTime类获取当前时间
CTime curTime = CTime::GetCurrentTime();
CString strCurTime;
strCurTime.Format(_T("d/d/d d:d:d"), curTime.GetYear(), curTime.GetMonth(), curTime.GetDay(), curTime.GetHour(), curTime.GetMinute(), curTime.GetSecond());
2.SYSTEMTIME结构体获取当前时间
SYSTEMTIME curTime;
GetLocalTime(&curTime);
CString strCurTime;
strCurTime.Format(_T("d/d/d d:d:d"), curTime.wYear, curTime.wMonth, curTime.wDay, curTime.wHour, curTime.wMinute, curTime.wSecond);
3.COleDateTime/COleDateTimeSpan(时间加减)
COleDateTime today = COleDateTime::GetCurrentTime();//获取当前的时间
COleDateTimeSpan timespan( 0, 8, 0, 0 ); //(Day, Hour, Minute, Second);
COleDateTime time=today + timespan; //Time比Today加了八小时
CString str;
str=time.Format("%H:%M %Y-%m-%d");
AfxMessageBox(str);
4.time_t(转换成秒)
SYSTEMTIME curTime;
GetLocalTime(&curTime);
struct tm tmTime;
tmTime.tm_year = curTime.wYear - 1900;
tmTime.tm_month = curTime.wMonth;
tmTime.tm_day = curTime.wDay;
tmTime.tm_hour = curTime.wHour;
tmTime.tm_minute = curTime.wMinute;
tmTime.tm_second = curTime.wSecond;
__time64_t curTime_64t = _mktime64(&tmTime);
struct tm st;
st.tm_year = atoi(strTime.substr(0, 4).c_str())-1900;
st.tm_mon = atoi(strTime.substr(5, 2).c_str());
st.tm_mday = atoi(strTime.substr(8, 2).c_str());
st.tm_hour = atoi(strTime.substr(11, 2).c_str());
st.tm_min = atoi(strTime.substr(14, 2).c_str());
st.tm_sec = atoi(strTime.substr(17, 2).c_str());
tt = mktime(&st);