【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.pswp.cn/bicheng/89421.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89421.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89421.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux717 SWAP擴容;邏輯卷條帶化

root192.168.235.20s password:┌────────────────────────────────────────────────────────────────────┐│ ? MobaXterm 20.0 ? ││ …

人類社會發展過程中的熵增定律

引子研究美國羅斯福新政期間的法案為什么會對美國經濟恢復起作用?與千金買馬骨和移木賞金之間的區別與聯系?以下為豆包 AI回答一、羅斯福新政法案對美國經濟起作用的原因羅斯福新政(1933-1939年)通過一系列政策應對大蕭條&#x…

Spring-AI系列-入門篇-核心概念、組件和生產要素

原文-Spring AI知識庫,歡迎大家評論互動 師父領進門,修行靠自己。 Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design an…

從瀏覽器到服務器:TCP 段的網絡傳輸之旅

本文以簡化的網絡架構為例,詳細介紹了當你在瀏覽器中輸入網址(例如www.google.com)并按下回車鍵后,TCP段的完整傳輸過程。我們將探討DNS解析、ARP、TCP/IP封裝、PAT和路由如何協同工作,將數據從個人電腦通過局域網和廣…

HCIE - 云計算拿下后的職業選擇如何規劃?

Hello!大家好,小編是一名專注 IT 領域的資深探索家。我們聊聊HCIE - 云計算,這個認證作為華為認證體系中云計算領域的專家級認證,標志著持有者具備企業級云架構設計、復雜云平臺運維及跨場景技術落地能力。但認證本身只是職業進階…

1-創建Vue3項目

創建Vue3項目前提 已安裝 18.3 或更高版本的 Node.js vue 官網 https://vuejs.org/ 創建一個 Vue 應用 ① 新建項目目錄,使用 VSCode 打開 VSCode 可安裝 Vue-Official 插件協助開發 ② 執行 create vue 指令創建 vue 應用 npm create vuelatest這一指令將…

Codex,Copilot 是什么

Codex是什么 Codex 是 OpenAI 研發的一款專注于代碼生成的大型語言模型,它可以根據自然語言描述自動編寫程序代碼,在軟件開發、自動化測試等領域展現出了強大的應用潛力。下面為你詳細介紹: 1. 核心功能 代碼生成:Codex 能夠依據自然語言指令生成代碼,像函數、類或者完整…

Typecho插件開發:自定義表單驗證規則addRule實戰指南

文章目錄 Typecho表單驗證進階:為插件和主題添加自定義addRule驗證規則 引言 一、Typecho表單驗證基礎 1.1 Typecho表單系統概述 1.2 addRule方法解析 二、自定義驗證規則實現 2.1 創建自定義驗證類 2.2 注冊自定義驗證規則 2.3 使用自定義驗證規則 三、高級驗證場景實現 3.1 …

數據分布是如何影響目標檢測精度的

文章目錄一、研究背景與目標模型效果提升數據集優化二、研究問題明細各方向的關聯性與核心邏輯1. 高質量數據集的高效篩選與主動學習應用2. 基于推理結果的數據補充與增強方向優化3. 多類別場景下目標尺度與模型精度的關聯性4. 損失函數與數據增強對精度的量化影響5. 目標類型專…

Python 網絡爬蟲 —— 代理服務器

一、會話(Session)(一)核心邏輯HTTP 本身無記憶,每次請求獨立。會話(Session) 就是為解決這問題,讓客戶端(瀏覽器)和服務器 “記住” 交互狀態(比…

Vue在線預覽Excel和Docx格式文件

前提:本次示例基于Vue2.x,所用插件為Vue-Office。 一、Vue-Office 插件簡介 Vue-Office 是一個一站式解決方案,支持多種 Office 文件格式的在線預覽,包括: Word(.docx)Excel(.xlsx、…

提升(Boosting)及 Python 示例

咱們結合這張圖,把 “提升” 想象成 “做錯題本 請老師補課” 的過程:第一波數據(最上面的圓圈):“第一次作業”假設你第一次做 100 道數學題(圖中圓圈里的綠點白點代表不同的題),做…

【生產實踐】Linux中NAS掛載丟失后提示“過舊的文件句柄”錯誤解決

太長不看版: 問題:nas掛載在系統里掉了,使用df或ls訪問目錄提示過舊的文件句柄解決過程: 和機房聯系,發現NAS服務器重啟了重新執行mount發現掛不上先umount掉當前掛載,再重新執行mount命令問題解決 umount …

JUnit4

JUnit4 介紹JUnit 是 Java 編程語言的單元測試框架,用于編寫和運行可重復的自動化測試。JUnit 特點:JUnit 是一個開放的資源框架,用于編寫和運行測試。提供注解來識別測試方法。提供斷言來測試預期結果。JUnit 測試允許你編寫代碼更快&#x…

Python-TCP編程-UDP編程-SocketServer-IO各種概念及多路復用-asyncio-學習筆記

序 欠4前年的一份筆記 ,獻給今后的自己。 網絡編程 Socket介紹 Socket套接字 Python中提供socket.py標準庫,非常底層的接口庫。 Socket是一種通用的網絡編程接口,和網絡層次沒有一一對應的關系。 協議族 AF表示Address Family,用于…

Mybatis-開發一個類似mybatisplus的mybatis擴展,該怎么入手?

開發一個類似mybatisplus的mybatis擴展,該怎么入手? 要開發一個類似于 MyBatis-Plus 的 MyBatis 擴展框架,你需要從以下幾個核心方面入手,逐步構建出一個功能完整、易用性強、兼容性好的增強型 MyBatis 框架。🧱 一、整…

深入了解linux系統—— 信號的捕捉

前言 信號從產生到處理,可以分為信號產生、信號保存、信號捕捉三個階段;了解了信號產生和保存,現在來深入了解信號捕捉。 信號捕捉 對于1-31號普通信號,進程可以立即處理,也可以不立即處理而是在合適的時候處理&#x…

twikitFKS: 基于 twikit 2.3.1 的改進版本

twikitFKS: 基于 twikit 2.3.1 的改進版本 項目概述 關于 twikit twikit 是一個優秀的 Twitter API 爬蟲庫,它的核心優勢在于無需 API Key即可訪問 Twitter 功能。通過網頁爬蟲技術,twikit 實現了: 發布推文和媒體內容搜索推文和用戶獲取…

C Primer Plus 第6版 編程練習——第9章(下)

7.編寫一個函數,從標準輸入中讀取字符,直到遇到文件結尾。程序要報告每個字符是否是字母。如果是,還要報告該字母在字母表中的數值位置。例如,c和C在字母表中的位置都是3。合并一個函數,以一個字符作為參數&#xff0c…

如何用文思助手改好一篇爛材料

在日常工作中,我們常常會遇到這樣的問題:因為工作要使用到之前寫的文章再看發現內容雜亂無章、或者收到的一些返稿內容質量差,不修改無法使用。但其實它們可能只是缺少了系統性的梳理與打磨。今天我們就來聊一聊,如何對一些不滿意…