C#获取系统当前日期和时间的示例详解
作者:wenchm
这篇文章主要为大家详细介绍了C#如何使用DateTime的Now静态属性动态获得系统当前日期和时间,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
使用DateTime结构的Now静态属性可以轻松地获取当前系统时间。
DateTime结构的Now静态属性只是得到一个系统时间对象,该时间对象不会随着系统时间的变化而变化,如果要动态显示系统时间,可以使用计时器间隔地获取系统时间对象并显示。
可以适当地使用线程替代Timer控件。在窗体应用程序开发过程中,应当尽量避免使用窗体线程做高强度的运算或IO操作,如果窗体线程参与了过多的运算,会导致用户的操作不能及时分配到资源,用户界面会出现卡或无响应情况。
一实例
1.源码
//使用DateTime的Now静态属性动态获取系统时间
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 = "动态获取系统时间";
ResumeLayout(false);
Thread thread = new(//创建线程
() => //使用lambda表达式
{
while (true) //无限循环
{
Invoke( //操作窗体线程
(MethodInvoker)delegate ()//使用匿名方法
{
Refresh();//刷新窗体
Graphics graphics = CreateGraphics(); //创建绘图对象
graphics.DrawString("系统时间:" + //在窗体中绘出系统时间
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 //将线程设置为后台线程
};
thread.Start(); //线程开始执行
}
}
}
2.生成效果

1秒钟一刷新。
二、相关知识点
1. Thread类
创建和控制线程,设置其优先级并获取其状态。
(1)Thread.Sleep()
(2)Thread(ThreadStart)
初始化 Thread 类的新实例。
public Thread (System.Threading.ThreadStart start);
参数
- start
- ThreadStart
表示开始执行此线程时要调用的方法的 ThreadStart 委托。
例如
ArgumentNullException
start 参数为 null。
(3)IsBackground
(4)Invoke( )
2. CreateGraphics()
3.DateTime.Now
4. (MethodInvoker)delegate ()
到此这篇关于C#获取系统当前日期和时间的示例详解的文章就介绍到这了,更多相关C#获取系统日期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
