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