当前位置: 首页 > news >正文

【46】MFC入门到精通——MFC显示实时时间,获取系统当前时间GetCurrentTime()、获取本地时间GetLocalTime()

文章目录

  • 1 MFC获取时间方法
    • 方法一:获取系统当前时间GetCurrentTime()
    • 方法二:获取本地时间GetLocalTime()
    • 使用GetTickCount()获取程序运行时间
  • 2 MFC显示实时时间 使用方法
    • 2.1 获取时间
    • 2.2 类向导 添加定时器函数 OnTimer
    • 2.3 初始化 设置定时器
    • 2.4 定时器函数 调用 获取时间函数
    • 2.5 效果演示

1 MFC获取时间方法

方法一:获取系统当前时间GetCurrentTime()

//方法一,获取系统当前时间
int CSerialPortDlg::Current_Time()
{//方法一,获取系统当前时间CTime time;//实例一个时间对象CString strTime;//显示时间time = CTime::GetCurrentTime();//获取系统当前时间//strTime =  time.Format(_T("%Y - %m - %d %H: %M : %S"));//将time对象中的时间信息(年,月,日,时,分,秒)存储到CString变量中进行显示strTime = time.Format(_T("当前时间 %H:%M:%S"));//显示SetDlgItemText(IDC_STATIC_CurrentTime, strTime);return 0;
}

方法二:获取本地时间GetLocalTime()

int CSerialPortDlg::Current_Time()
{//方法二,获取本地时间精确到毫秒     CString strTime;SYSTEMTIME lpsystime;GetLocalTime(&lpsystime);//strTime.Format(L"%d-%d-%d %d:%d:%d:%d", lpsystime.wYear, lpsystime.wMonth, lpsystime.wDay, lpsystime.wHour,lpsystime.wMinute, lpsystime.wSecond, lpsystime.wMilliseconds);strTime.Format(L"当前时间 %d:%d:%d", lpsystime.wHour,lpsystime.wMinute, lpsystime.wSecond);//显示SetDlgItemText(IDC_STATIC_CurrentTime, strTime);return 0;
}

使用GetTickCount()获取程序运行时间

long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)   
Sleep(500); long t2=GetTickCount();//程序段结束后取得系统运行时间(ms)   
str.Format("time:%dms",t2-t1);//前后之差即 程序运行时间   
AfxMessageBox(str);//获取系统运行时间   
long t=GetTickCount();   
CString str,str1;   
str1.Format("系统已运行 %d时",t/3600000);   
str=str1; t%=3600000;   
str1.Format("%d分",t/60000);   
str+=str1; t%=60000;   
str1.Format("%d秒",t/1000);   
str+=str1; 
AfxMessageBox(str);

2 MFC显示实时时间 使用方法

2.1 获取时间

//方法一,获取系统当前时间
int CSerialPortDlg::Current_Time()
{//方法一,获取系统当前时间CTime time;//实例一个时间对象CString strTime;//显示时间time = CTime::GetCurrentTime();//获取系统当前时间//strTime =  time.Format(_T("%Y - %m - %d %H: %M : %S"));//将time对象中的时间信息(年,月,日,时,分,秒)存储到CString变量中进行显示strTime = time.Format(_T("当前时间 %H:%M:%S"));//显示SetDlgItemText(IDC_STATIC_CurrentTime, strTime);return 0;
}

2.2 类向导 添加定时器函数 OnTimer

在这里插入图片描述

2.3 初始化 设置定时器

OnInitDialog();中添加代码

	//显示当前时间Current_Time();//1秒触发一次的定时器 SetTimer(1, 1000, NULL);

在这里插入图片描述

2.4 定时器函数 调用 获取时间函数

void CSerialPortDlg::OnTimer(UINT_PTR nIDEvent)
{// TODO: 在此添加消息处理程序代码和/或调用默认值if (nIDEvent == 1) {Current_Time();}CDialogEx::OnTimer(nIDEvent);
}

2.5 效果演示

在这里插入图片描述

参考链接 :

MFC–在窗口状态栏设置时间显示

MFC中设置静态文本框的时间

MFC获取时间的几种方法

http://www.lryc.cn/news/590870.html

相关文章:

  • 结合自身,制定一套明确的 Web3 学习路线和技术栈建议
  • 保持视频二维码不变,如何更新视频内容,节省物料印刷成本
  • 板凳-------Mysql cookbook学习 (十二--------1)
  • 离散与组合数学 杂记
  • 【AI前沿】英伟达CEO黄仁勋ComputeX演讲2025|Token是AI时代的“新货币”
  • CSDN首发:研究帮平台深度评测——四大AI引擎融合的创作革命
  • 从零开始的云计算生活——第三十三天,关山阻隔,ELK日志分析
  • docker 容器无法使用dns解析域名异常问题排查
  • HCIE - 云计算拿下后的职业选择如何规划?
  • 生成式AI干预下的认知依赖与批判性思维发展:基于ChatGPT辅助写作的纵向追踪
  • HCIE - 云计算方向考什么?一文全解
  • docker--安装--原理
  • Flutter Android打包学习指南
  • 机器学习:数据清洗与预处理 | Python
  • cors跨域资源共享
  • 2025年Java后端秋招面试的高频八股文+场景题
  • Linux C 进程基本操作
  • 【Elasticsearch】Elasticsearch 快照恢复 API 参数详解
  • Git 多人协作实战:从基础操作到分支管理全流程记录
  • 关于el-table异步获取数据渲染动态列数据赋值列数据渲染时title高度异常闪过问题
  • vue3+ts+elementui-表格根据相同值合并
  • Linux之Zabbix分布式监控篇(二)
  • 算法竞赛备赛——【图论】求最短路径——Floyd算法
  • 【华为机试】122. 买卖股票的最佳时机 II
  • React 学习(4)
  • 研发知识系统选型实战:从 Notion 到 Gitee Wiki 的迭代经验
  • STM32 DMA通信详解
  • 求解偏微分方程的傅里叶积分解
  • ThreadLocal使用详解-从源码层面分析
  • Python 网络爬虫 —— requests 库和网页源代码