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#获取系统日期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Unity实现领取奖励特效

    Unity实现领取奖励特效

    这篇文章主要为大家详细介绍了Unity实现领取奖励特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • C#事件实例详解

    C#事件实例详解

    这篇文章主要介绍了C#事件实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • WPF开发之实现一种三轴机械手控件

    WPF开发之实现一种三轴机械手控件

    这篇文章主要为大家详细介绍了如何利用WPF实现简单一种三轴机械手控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-01-01
  • C#二维码图片识别代码

    C#二维码图片识别代码

    这篇文章主要为大家详细介绍了C#二维码图片识别代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • c# Linq常用的小技巧

    c# Linq常用的小技巧

    这篇文章主要介绍了c# Linq常用的小技巧,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C#中foreach循环对比for循环的优势和劣势

    C#中foreach循环对比for循环的优势和劣势

    循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环,下面这篇文章主要给大家介绍了关于C#中foreach循环对比for循环的优势和劣势,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • 用C#缩小照片上传到各种空间的具体方法

    用C#缩小照片上传到各种空间的具体方法

    这篇文章介绍了用C#缩小照片的具体方法,有需要的朋友可以参考一下
    2013-09-09
  • C#过滤sql特殊字符串的方法

    C#过滤sql特殊字符串的方法

    这篇文章介绍了C#过滤sql特殊字符串的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 用C#编写获取远程IP,MAC的方法

    用C#编写获取远程IP,MAC的方法

    用C#编写获取远程IP,MAC的方法...
    2007-04-04
  • C#中使用Interlocked进行原子操作的技巧

    C#中使用Interlocked进行原子操作的技巧

    使用.NET提供的Interlocked类可以对一些数据进行原子操作,看起来似乎跟lock锁一样,但它并不是lock锁,它的原子操作是基于CPU本身的,非阻塞的,所以要比lock的效率高
    2016-12-12

最新评论