我是靠谱客的博主 含糊蓝天,最近开发中收集的这篇文章主要介绍MFC 获取系统时间 和设置时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 获取系统时间 和设置时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部