C#获取系统当前日期和时间的示例详解

 更新时间:2024年01月19日 11:16:25   作者: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#获取系统日期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#中Winform窗体Form的关闭按钮变灰色的方法

    C#中Winform窗体Form的关闭按钮变灰色的方法

    这篇文章主要介绍了C#中Winform窗体Form的关闭按钮变灰色的方法,对于C#程序界面的设计有一定的借鉴价值,需要的朋友可以参考下
    2014-08-08
  • c#序列化详解示例

    c#序列化详解示例

    序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据
    2014-02-02
  • C# 显示、隐藏窗口对应的任务栏

    C# 显示、隐藏窗口对应的任务栏

    WPF中全屏窗口,会自动隐藏任务栏,那非全屏窗口如何隐藏任务栏?甚至有没有一种场景,隐藏任务后自定义一套系统任务栏来显示?这篇文章主要介绍了C# 显示、隐藏窗口对应的任务栏,需要的朋友可以参考下
    2021-10-10
  • C# 多线程对资源读写时如何控制的方法

    C# 多线程对资源读写时如何控制的方法

    这篇文章主要介绍了C# 多线程对资源读写时如何控制的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • C#操作excel打印的示例

    C#操作excel打印的示例

    这篇文章主要介绍了C#操作excel打印的示例,帮助大家利用c#打印表格,提高办公效率,感兴趣的朋友可以了解下
    2020-10-10
  • C#创建一个Word并打开的方法

    C#创建一个Word并打开的方法

    这篇文章主要介绍了C#创建一个Word并打开的方法,实例分析了C#操作word的常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#实现微信结合百度api获取当前用户地理位置的方法

    C#实现微信结合百度api获取当前用户地理位置的方法

    这篇文章主要介绍了C#实现微信结合百度api获取当前用户地理位置的方法,结合实例形式分析了C#调用微信与百度API接口的相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • C#延时函数的使用说明

    C#延时函数的使用说明

    这篇文章主要介绍了C#延时函数的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • C#使用FileStream对象读写文件

    C#使用FileStream对象读写文件

    这篇文章主要为大家详细介绍了C#使用FileStream对象读写文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 轻松学习C#的异常处理

    轻松学习C#的异常处理

    轻松学习C#的异常处理,对C#的异常处理感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的异常处理
    2015-11-11

最新评论