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

【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.xdnf.cn/news/15692.html

相关文章:

  • HTML 极简个人介绍卡片(侧重语义化标签和响应式布局)
  • HCIE - 云计算方向考什么?一文全解
  • LIN通信驱动代码开发注意事项
  • 木马和Webshell和内存马的区别!
  • 电商行业如何做好网络安全工作?
  • 如何选择合规的上门按摩系统
  • Java中excel字典转换
  • SWD和JTAG区别
  • Kotlin 属性委托 observable 的实现原理
  • 快慢指针的应用
  • CPP学习之list使用及模拟实现
  • Java程序设计学习笔记
  • 玖[9],相机/镜头/光源
  • Spring Boot 监控:AOP vs Filter vs Java Agent
  • Cadence SPB 2024软件下载及安装教程|Cadence软件安装详细步骤附下载链接
  • java如何实现打印list对象占用多大内存
  • Web开发 01
  • 【Java开发日记】详细地讲解一下如何保证线程安全性呢?
  • vue svg实现一个环形进度条组件
  • VSCODE常规设置
  • 代码随想录算法训练营65期第22天
  • 【专题十二】栈
  • 从现场出发:能源系统中的智能设备与实际落地工具解读
  • 【Java开发日记】我们来说说 LockSupport 的 park 和 unpark
  • docker--安装--原理
  • RabbitMQ概述和工作模式
  • 60个功能OfficeBox 万彩办公大师:PDF 格式转换 OCR识别免费无广告
  • mac电脑无法阅读runc源码
  • Docker容器技术讲解
  • Apache SeaTunnel详解与部署(最新版本2.3.11)