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);

MFC 当前时间

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部