C#獲取系統(tǒng)當(dāng)前日期和時(shí)間的示例詳解
使用DateTime結(jié)構(gòu)的Now靜態(tài)屬性可以輕松地獲取當(dāng)前系統(tǒng)時(shí)間。
DateTime結(jié)構(gòu)的Now靜態(tài)屬性只是得到一個(gè)系統(tǒng)時(shí)間對(duì)象,該時(shí)間對(duì)象不會(huì)隨著系統(tǒng)時(shí)間的變化而變化,如果要?jiǎng)討B(tài)顯示系統(tǒng)時(shí)間,可以使用計(jì)時(shí)器間隔地獲取系統(tǒng)時(shí)間對(duì)象并顯示。
可以適當(dāng)?shù)厥褂镁€程替代Timer控件。在窗體應(yīng)用程序開(kāi)發(fā)過(guò)程中,應(yīng)當(dāng)盡量避免使用窗體線程做高強(qiáng)度的運(yùn)算或IO操作,如果窗體線程參與了過(guò)多的運(yùn)算,會(huì)導(dǎo)致用戶的操作不能及時(shí)分配到資源,用戶界面會(huì)出現(xiàn)卡或無(wú)響應(yīng)情況。
一實(shí)例
1.源碼
//使用DateTime的Now靜態(tài)屬性動(dòng)態(tài)獲取系統(tǒng)時(shí)間 namespace _053 { public partial class Form1 : Form { public Form1() { InitializeComponent(); Load += Form1_Load; } private void Form1_Load(object? sender, EventArgs e) { SuspendLayout(); // // Form1 // AutoScaleDimensions = new SizeF(7F, 17F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(394, 41); Name = "Form1"; StartPosition = FormStartPosition.CenterScreen; Text = "動(dòng)態(tài)獲取系統(tǒng)時(shí)間"; ResumeLayout(false); Thread thread = new(//創(chuàng)建線程 () => //使用lambda表達(dá)式 { while (true) //無(wú)限循環(huán) { Invoke( //操作窗體線程 (MethodInvoker)delegate ()//使用匿名方法 { Refresh();//刷新窗體 Graphics graphics = CreateGraphics(); //創(chuàng)建繪圖對(duì)象 graphics.DrawString("系統(tǒng)時(shí)間:" + //在窗體中繪出系統(tǒng)時(shí)間 DateTime.Now.ToString("yyyy年MM月dd日 HH時(shí)mm分ss秒"), new Font("Times New Roman", 14), Brushes.Blue, new Point(10, 10)); }); Thread.Sleep(1000);//線程掛起1秒鐘 } }) { IsBackground = true //將線程設(shè)置為后臺(tái)線程 }; thread.Start(); //線程開(kāi)始執(zhí)行 } } }
2.生成效果
1秒鐘一刷新。
二、相關(guān)知識(shí)點(diǎn)
1. Thread類
創(chuàng)建和控制線程,設(shè)置其優(yōu)先級(jí)并獲取其狀態(tài)。
(1)Thread.Sleep()
(2)Thread(ThreadStart)
初始化 Thread 類的新實(shí)例。
public Thread (System.Threading.ThreadStart start);
參數(shù)
- start
- ThreadStart
表示開(kāi)始執(zhí)行此線程時(shí)要調(diào)用的方法的 ThreadStart 委托。
例如
ArgumentNullException
start 參數(shù)為 null。
(3)IsBackground
(4)Invoke( )
2. CreateGraphics()
3.DateTime.Now
4. (MethodInvoker)delegate ()
到此這篇關(guān)于C#獲取系統(tǒng)當(dāng)前日期和時(shí)間的示例詳解的文章就介紹到這了,更多相關(guān)C#獲取系統(tǒng)日期時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于C#實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音功能
這篇文章將在C#中集成一個(gè)語(yǔ)音對(duì)象SpeechSynthesizer,可以根據(jù)填入的文字內(nèi)容自動(dòng)解析成語(yǔ)音并使用系統(tǒng)揚(yáng)聲器進(jìn)行語(yǔ)音播報(bào),感興趣的小伙伴可以了解下2025-02-02C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題
C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C#動(dòng)態(tài)生成DropDownList執(zhí)行失敗原因分析
這篇文章主要介紹了C#動(dòng)態(tài)生成DropDownList執(zhí)行失敗原因分析,以一個(gè)實(shí)例形式分析了C#動(dòng)態(tài)生成DropDownList的相關(guān)注意要點(diǎn)與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03C# 利用IRawPixels接口遍歷柵格數(shù)據(jù)
本文主要介紹了利用IRawPixels接口遍歷柵格數(shù)據(jù)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02C# DataTable中Compute方法用法集錦(數(shù)值/字符串/運(yùn)算符/表等操作)
這篇文章主要介紹了C# DataTable中Compute方法用法,總結(jié)分析了DataTable中Compute方法常見(jiàn)的數(shù)值運(yùn)算操作、字符串操作、運(yùn)算符操作、表運(yùn)算等相關(guān)技巧,需要的朋友可以參考下2016-06-06c#中的interface abstract與virtual介紹
abstract 與virtual : 方法重寫(xiě)時(shí)都使用 override 關(guān)鍵字,interface中的方法和abstract方法都要求實(shí)現(xiàn)2013-07-07