LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

了解 C#中 DateTime 的使用

admin
2024年12月25日 12:4 本文热度 85

前言

在软件开发中,有许多需求需要在应用程序中处理日期和时间。在.NET 中DateTime类是处理日期和时间的基础,它表示一个日期和时间。本文我们将通过示例了解DateTime的使用。

DateTime

DateTime 类包含了日期、时间、区域性、本地化、毫秒等,其值的范围介于0001年01月01日00:00:00时~9999年12月31日23:59:59时之间。

1、DateTime 属性

DateTime 中包含了获取日期和时间的属性,其中有Year(年)、Month(月)、Day(日)、Hour(时)、Minute(分)、Second(秒)、Millisecond(毫秒)等。下表是其它一些属性:

属性描述
DayOfWeek返回一周中日期的名称
DayOfYear返回一年中的日期
TimeOfDay返回时间信息(时、分、秒、毫秒)
Today返回DateTime中的日
Now返回具有当前日期和时间值的DateTime对象
UtcNow返回采用协调世界时UTC 的DateTime对象
Ticks返回DateTime中的刻度数
Kind返回 Unspecified、Utc、Local

下面通过示例,了解DateTime一些属性。

namespace Fountain.WinConsole.DateTimeDemo{    internal class Program    {        static void Main(string[] args)        {            // 使用默认构造函数创建对象  日期时间初事值为 0001-1-1 0:00:00            DateTime defaultDateTime = new DateTime();            Console.WriteLine(defaultDateTime.ToString());            // 使用指定的日期和时间创建对象            DateTime dateTime = new DateTime(2024, 12, 20, 19, 10, 09);            Console.WriteLine(dateTime.ToString());            // 使用 DateTime.Parse 或 DateTime.ParseExact 方法从字符串解析日期和时间            DateTime dateFromString = DateTime.Parse("2024-12-20 13:30:00", System.Globalization.CultureInfo.InvariantCulture);            Console.WriteLine(dateFromString.ToString());            // 使用指定的日期创建对象            DateTime designDate = new DateTime(2024, 10, 18);            Console.WriteLine(designDate.ToString());            // 通过时间戳创建对象            DateTime ticksTime = new DateTime(1734705922);            Console.WriteLine(ticksTime.ToString());            // 具有本地化的 DateTime            DateTime dateTimeKind = new DateTime(2024, 12, 10, 7, 10, 24, DateTimeKind.Local);            Console.WriteLine(dateTimeKind.ToString());            // 包含日期、时间和毫秒的 DateTime             DateTime dateTimeMilliseconds = new DateTime(2024, 12, 15, 5, 30, 45, 100);            Console.WriteLine(dateTimeMilliseconds.ToString());            // 使用DateTime的Today获取当前日期的日期部分            DateTime today = DateTime.Today;            Console.WriteLine(today.ToString());            // 使用DateTime的 Now 获取当前的日期和时间            DateTime nowDateTime = DateTime.Now;            Console.WriteLine(nowDateTime.ToString());            // 使用DateTime的 UtcNow 获取当前的UTC日期和时间            DateTime utcNow = DateTime.UtcNow;            Console.WriteLine(utcNow.ToString());            // 使用DateTime的 MinValue或 MaxValue 获取可能的最小或最大日期和时间值            DateTime minDateTime = DateTime.MinValue;            Console.WriteLine(minDateTime.ToString());            DateTime maxDateTime = DateTime.MaxValue;            Console.WriteLine(maxDateTime.ToString());            Console.Read();        }    }}

2、创建 DateTime

下面通过示例,了解如何创建DateTime对象。

namespace Fountain.WinConsole.DateTimeDemo{    internal class Program    {        static void Main(string[] args)        {            DateTime preDateTime = new DateTime(20241221101124,DateTimeKind.Utc);            Console.WriteLine("Day:{0}", preDateTime.Day);            Console.WriteLine("Month:{0}", preDateTime.Month);            Console.WriteLine("Year:{0}", preDateTime.Year);            Console.WriteLine("Hour:{0}", preDateTime.Hour);            Console.WriteLine("Minute:{0}", preDateTime.Minute);            Console.WriteLine("Second:{0}", preDateTime.Second);            Console.WriteLine("Millisecond:{0}", preDateTime.Millisecond);            Console.WriteLine("Day of Week:{0}", preDateTime.DayOfWeek);            Console.WriteLine("Day of Year: {0}", preDateTime.DayOfYear);            Console.WriteLine("Time of Day:{0}", preDateTime.TimeOfDay);            Console.WriteLine("Tick:{0}", preDateTime.Ticks);            Console.WriteLine("Kind:{0}", preDateTime.Kind);            Console.Read();        }    }}

3、计算加减

DateTime 提供了加减年、天、小时、分钟、秒、毫秒和刻度的方法,下面通过示例了解其使用。
DateTime dateTime = DateTime.Now;// 加减年份dateTime=dateTime.AddYears(1);dateTime=dateTime.AddYears(-1);// 加减月份dateTime=dateTime.AddMonths(1);dateTime=dateTime.AddMonths(-1);// 加减天数dateTime=dateTime.AddDays(12);dateTime=dateTime.AddDays(-12);// 加减小时dateTime=dateTime.AddHours (2);dateTime=dateTime.AddHours(-2);// 加减分钟dateTime=dateTime.AddMinutes(10);dateTime=dateTime.AddMinutes(-10);// 加减秒数dateTime=dateTime.AddSeconds(30);dateTime=dateTime.AddSeconds(-30);// 加减毫秒数dateTime=dateTime.AddMilliseconds(200);dateTime=dateTime.AddMilliseconds(-200);// 加减刻度dateTime=dateTime.AddTicks(5000);dateTime=dateTime.AddTicks(-5000);

4、日期时间比较

DateTime 提供了Compare与CompareTo方法实现两个日期时间的比较,如果是比较是否相等还可以使用Equals方法。下面代码段了解其使用。

// 定义日期DateTime firstDate = new DateTime(20241221);DateTime secondDate = new DateTime(20241220);//  比较两个日期时间的大小int compareResult = DateTime.Compare(firstDate, secondDate);// 比较两个日期时间的大小int compareToResult = firstDate.CompareTo(secondDate);// 比较两个日期时间是否相等bool equalsResult = firstDate.Equals(secondDate);if (compareResult < 0)    Console.WriteLine($"日期时间:{firstDate}比{secondDate}早");else if (compareResult == 0)    Console.WriteLine($"日期时间:{firstDate}与{secondDate}相等");else    Console.WriteLine($"日期时间:{firstDate}比{secondDate}晚");

5、日期时间格式化

DateTime 的格式化是将其转化为多种格式的字符串,而GetDateTimeFormats方法可返回计算机当前区域性的所有可能的 DateTime 格式。除了GetDateTimeFormats,还可以使用ToString方法来格式化。下面代码段了解其使用。

DateTime dateTime = DateTime.Now;// 日期时间格式: d, D, f, F, g, G, m, o, r, s, t, T, u, U,Console.WriteLine("d 格式");string[] dateFormats = dateTime.GetDateTimeFormats('d');foreach (string format in dateFormats){    Console.WriteLine(format);}Console.WriteLine("D 格式");dateFormats = dateTime.GetDateTimeFormats('D');foreach (string format in dateFormats){    Console.WriteLine(format);}Console.WriteLine("f 格式");dateFormats = dateTime.GetDateTimeFormats('f');foreach (string format in dateFormats)    Console.WriteLine(format);}Console.WriteLine("F 格式");dateFormats = dateTime.GetDateTimeFormats('F');foreach (string format in dateFormats){    Console.WriteLine(format);}
// 20241221日 12:41:33Console.WriteLine(dateTime.ToString("F"));// 20241221日 12:42Console.WriteLine(dateTime.ToString("f"));// 20241221Console.WriteLine(dateTime.ToString("D"));// 2024-12-21 12:44:05Console.WriteLine(dateTime.ToString("yyyy-MM-dd HH:mm:ss"));

6、字符串转日期

ParseParseExact方法用于将字符串转换为 DateTime 对象。在使用该方法时,字符串必须具有正确的 DateTime 格式,否则无法完成转换。

DateTime dateTime1 = DateTime.Parse("2024-12-20 12:53:22");DateTime dateTime2 = DateTime.ParseExact("2024/12/20""yyyy-MM-dd",null);

小结

DateTime 用于表示和处理.NET 中的日期和时间,本文通过示例了解如何创建DateTime、属性、加减日期和时间、日期比较和格式化等。希望本文对您有所收获,如有不到之处,请多多包涵。


该文章在 2024/12/25 12:04:27 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved