MFC应用实例:[39]获得系统的时间日期

2025-11-05 11:39:18

1、新建一个基于对话框的应用程序,应用程序名称为GetDataTime。

MFC应用实例:[39]获得系统的时间日期

2、对对话框进行如下图的设计,添加一个Data Time Picker控件和三个Static Text控件。

MFC应用实例:[39]获得系统的时间日期

3、双击Data Time Picker控件在其相应函数OnDatetimechangeDatetimepicker2()中添加一下代码:

//当Date Time Picker日期改变时

void CGetDataTimeDlg::OnDatetimechangeDatetimepicker2(NMHDR* pNMHDR, LRESULT* pResult) 

{

UpdateData(true);

//日期改变了

//设置系统时间

  SYSTEMTIME time;

GetSystemTime(&time); //获取当前时间,填充time中的其他的值

  time.wYear = m_pickerTime.GetYear(); //修改年

time.wMonth= m_pickerTime.GetMonth(); //月

  time.wDay = m_pickerTime.GetDay(); //日

  int f = SetSystemTime(&time);

f = GetLastError();

*pResult = 0;

}

MFC应用实例:[39]获得系统的时间日期

4、为类CGetDataTimeDlg添加WM_TIMER消息

MFC应用实例:[39]获得系统的时间日期

5、并在WM_TIMER的响应OnTimer()函数中添加一下代码:

void CGetDataTimeDlg::OnTimer(UINT_PTR nIDEvent)

{

// TODO: 在此添加消息处理程序代码和/或调用默认值

//获取系统时间

SYSTEMTIME st;

CString strDate,strTime;

GetLocalTime(&st);

strDate.Format(_T("%4d-%2d-%2d"),st.wYear,st.wMonth,st.wDay);

strTime.Format(_T("【%2d:%2d:%2d】"),st.wHour,st.wMinute,st.wSecond);

//将时间显示在static text中

GetDlgItem(IDC_TIME)->SetWindowText(strDate + strTime);

CDialog::OnTimer(nIDEvent);

}

MFC应用实例:[39]获得系统的时间日期

6、在初始化函数OnInitDialog()中对定时器进行初始化

//程序开始获取时间显示在程序中

SYSTEMTIME time;

GetSystemTime(&time);

//显示系统时间

m_pickerTime = time;

UpdateData(false);

SetTimer(1, 1000, 0);

MFC应用实例:[39]获得系统的时间日期

7、程序运行如下:

MFC应用实例:[39]获得系统的时间日期

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢