概述
1 获取时间格式 2013-03-04 07:08
CString strDate,strTime;
CTime tm = CTime::GetCurrentTime();
strDate = tm.Format(L"%Y-%m-%d");
strTime = tm.Format(L"%H:%m");
2 获取时间格式 2013-3-4 7:8
SYSTEMTIME st;
GetLocalTime(&st); //GetlocalTime 获取的是北京时间 GetSystemTime 是UTC时间
strDate.Format(L"%4-%2-%2d",st.wYear,st.wMonth,st.wDay);
strTime.Format(L"%2d:%2d",st.wHour,st.wMinute);
3 设置北京时间(一般设置的话其实设置的是UTC时间 设置后对时间做个加减就是北京时间了)
/*设置系统时间*/
SYSTEMTIME locTm;
GetLocalTime(&locTm);
CEdit* pBoxyear;CEdit* pBoxmon;CEdit* pBoxday;CEdit* pBoxhou;CEdit* pBoxmin;
pBoxyear = (CEdit*) GetDlgItem(IDC_EDITYEAR);pBoxmon = (CEdit*) GetDlgItem(IDC_EDITMON);
pBoxday = (CEdit*) GetDlgItem(IDC_EDITDAY);pBoxhou = (CEdit*) GetDlgItem(IDC_EDITHOU);
pBoxmin = (CEdit*) GetDlgItem(IDC_EDITMIN);
CString year;CString mon;CString day;CString hou;CString min;
pBoxyear-> GetWindowText(year);pBoxmon-> GetWindowText(mon);pBoxday-> GetWindowText(day);
pBoxhou-> GetWindowText(hou);pBoxmin-> GetWindowText(min);
locTm.wYear=_tcstoul(year, NULL, 10);locTm.wMonth=_tcstoul(mon, NULL, 10);locTm.wDay=_tcstoul(day, NULL, 10);
locTm.wHour=_tcstoul(hou, NULL, 10);locTm.wMinute=_tcstoul(min, NULL, 10);//locTm.wDayOfWeek = -1;
locTm.wMilliseconds = 0;
SetSystemTime(&locTm);
/*进行一次加减*/
COleDateTime today=COleDateTime::GetCurrentTime();//获取当前的时间
COleDateTimeSpan timespan( 0, -16, 0, 0 ); //(Day, Hour, Minute, Second);
COleDateTime time=today + timespan; //Time比Today减去16小时
SYSTEMTIME st;
GetLocalTime(&st);
st.wYear = time.GetYear();st.wMonth = time.GetMonth();st.wDay = time.GetDay();
st.wHour = time.GetHour();st.wMinute = time.GetMinute();st.wDayOfWeek = 0;
st.wMilliseconds = 0;
SetSystemTime(&st);
最后
以上就是含糊蓝天为你收集整理的MFC 获取系统时间 和设置时间的全部内容,希望文章能够帮你解决MFC 获取系统时间 和设置时间所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复