C#使用DateTime获取日期和时间的实现
作者:mr_five567
在C#中,DateTime类是用来处理日期和时间的类。它具有许多属性和方法,用于操作和获取日期和时间的不同部分。以下是DateTime类的一些常用属性和方法。
属性:
1、DateTime.Now:获取当前日期和时间。
DateTime currentDateTime = DateTime.Now; Console.WriteLine(currentDateTime);//2023/11/21 21:26:04
假如我们想要获取当前日期的某些数据,我们还可以使用DateTime.Now相关的属性和方法。
具体常用的有一下这些:
属性
(1)DateTime.Now.Ticks返回自公元1年1月1日午夜以来经过的以100纳秒为间隔的时间单位数。
long ticks = DateTime.Now.Ticks; Console.WriteLine(ticks);//637799999912345678
(2)DateTime.Now.Year:获取当前日期的年份部分。
int currentYear = DateTime.Now.Year; Console.WriteLine(currentYear);//2023
(3)DateTime.Now.Month:获取当前日期的月份部分。
int currentMonth = DateTime.Now.Month; Console.WriteLine(currentMonth);//11
(4)DateTime.Now.Day:获取当前日期的天数部分。
int currentDay = DateTime.Now.Day; Console.WriteLine(currentDay);//21
(5)DateTime.Now.DayOfWeek:获取当前日期是星期几。
DayOfWeek currentDayOfWeek = DateTime.Now.DayOfWeek; Console.WriteLine(currentDayOfWeek);//Monday
(6)DateTime.Now.DayOfYear:获取当前日期是一年中的第几天。
int currentDayOfYear = DateTime.Now.DayOfYear; Console.WriteLine(currentDayOfYear);//325
(7)DateTime.Now.TimeOfDay:获取当前时间部分。
TimeSpan currentTimeOfDay = DateTime.Now.TimeOfDay; Console.WriteLine(currentTimeOfDay);//21:42:31.1234567
方法
(1)DateTime.Now.ToString:将当前日期时间对象转换为字符串表示。
string currentDateTimeString = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Console.WriteLine(currentDateTimeString);//2023-11-21 21:42:31
(2)DateTime.Now.ToShortDateString:获取当前日期的短日期字符串表示(只包含日期部分)。
string currentDateShortString = DateTime.Now.ToShortDateString(); Console.WriteLine(currentDateShortString);//2023/11/21
(3)DateTime.Now.ToShortTimeString:获取当前时间的短时间字符串表示(只包含时间部分)。
string currentTimeShortString = DateTime.Now.ToShortTimeString(); Console.WriteLine(currentTimeShortString);//21:42
(4)DateTime.Now.AddDays:将指定的天数添加到当前日期中。
DateTime tomorrow = DateTime.Now.AddDays(1); Console.WriteLine(tomorrow);//2023/11/22 21:42:31
(5)DateTime.Now.AddMonths:将指定的月份数添加到当前日期中。
DateTime nextMonth = DateTime.Now.AddMonths(1); Console.WriteLine(nextMonth);//2023/12/21 21:42:31
(6)DateTime.Now.AddYears:将指定的年份数添加到当前日期中。
DateTime nextYear = DateTime.Now.AddYears(1); Console.WriteLine(nextYear);//2024/11/21 21:42:31
(7)DateTime.Now.AddHours:将指定的小时数添加到当前时间中。
DateTime newTime = DateTime.Now.AddHours(2); Console.WriteLine(newTime);//2023/11/21 23:42:31
(8)DateTime.Now.AddMinutes:将指定的分钟数添加到当前时间中。
DateTime newTime = DateTime.Now.AddMinutes(15); Console.WriteLine(newTime);//2023/11/21 21:57:31
2、DateTime.Today:获取当前日期,时间部分为午夜。
DateTime currentDate = DateTime.Today; Console.WriteLine(currentDate); //2023/11/21 00:00:00
3、DateTime.Year:获取日期的年份部分。
DateTime date = new DateTime(2022, 11, 21); int year = date.Year; Console.WriteLine(year);//2022
4、DateTime.Month:获取日期的月份部分。
DateTime date = new DateTime(2023, 12, 21); int month = date.Month; Console.WriteLine(month);//12
5、DateTime.Day:获取日期的天数部分。
DateTime date = new DateTime(2023, 11, 21); int day = date.Day; Console.WriteLine(day);//21
6、DateTime.DayOfWeek:获取日期是星期几。
DateTime date = new DateTime(2023, 11, 21); DayOfWeek dayOfWeek = date.DayOfWeek; Console.WriteLine(dayOfWeek);//Monday
7、DateTime.DayOfYear:获取日期是一年中的第几天。
DateTime date = new DateTime(2023, 11, 21); int dayOfYear = date.DayOfYear; Console.WriteLine(dayOfYear);//325
8、DateTime.TimeOfDay:获取时间部分。
DateTime dateTime = new DateTime(2023, 11, 21, 9, 30, 0); TimeSpan timeOfDay = dateTime.TimeOfDay; Console.WriteLine(timeOfDay);//09:30:00
9、DateTime.Ticks:获取自公元1年1月1日午夜以来经过的时间刻度数。
DateTime dateTime = new DateTime(2023, 11, 21, 9, 30, 0); long ticks = dateTime.Ticks; Console.WriteLine(ticks);//637737774640000000
10、DateTime.Kind:获取日期时间对象的 DateTimeKind 值,指示其表示的时间是本地时间、协调世界时 (UTC) 还是未指定的类型。
DateTime dateTime = DateTime.Now; DateTimeKind kind = dateTime.Kind; Console.WriteLine(kind);//Local
方法:
1、DateTime.Compare:比较两个日期的大小。
DateTime date1 = new DateTime(2023, 11, 21); DateTime date2 = new DateTime(2023, 11, 22); int result = DateTime.Compare(date1, date2); Console.WriteLine(result);//-1
2、DateTime.Equals:检查两个日期是否相等。
DateTime date1 = new DateTime(2023, 11, 21); DateTime date2 = new DateTime(2023, 11, 21); bool isEqual = DateTime.Equals(date1, date2); Console.WriteLine(isEqual);//True
3、DateTime.IsLeapYear:检查指定的年份是否为闰年。
int year = 2024; bool isLeapYear = DateTime.IsLeapYear(year); Console.WriteLine(isLeapYear);//False
4、DateTime.ToString:将日期时间对象转换为字符串表示。
DateTime dateTime = new DateTime(2023, 11, 21, 9, 30, 0); string dateString = dateTime.ToString("yyyy-MM-dd HH:mm:ss"); Console.WriteLine(dateString);//2023-11-21 09:30:00
5、DateTime.TryParse:尝试将字符串解析为 DateTime 对象,如果解析成功返回 true,否则返回 false。
string dateString = "2023-11-21"; DateTime date; bool success = DateTime.TryParse(dateString, out date); if (success) { Console.WriteLine(date); } else { Console.WriteLine("Invalid date format"); }//2023/11/21 00:00:00
6、DateTime.Now.AddDays:将指定的天数添加到当前日期中。
DateTime tomorrow = DateTime.Now.AddDays(1); Console.WriteLine(tomorrow);//2023/11/22 21:26:04
7、DateTime.Now.AddMonths:将指定的月份数添加到当前日期中。
DateTime nextMonth = DateTime.Now.AddMonths(1); Console.WriteLine(nextMonth);//2023/12/21 21:26:04
8、DateTime.Now.AddYears:将指定的年份数添加到当前日期中。
DateTime nextYear = DateTime.Now.AddYears(1); Console.WriteLine(nextYear);//2024/11/21 21:26:04
9、DateTime.Now.AddHours:将指定的小时数添加到当前时间中。
DateTime newTime = DateTime.Now.AddHours(2); Console.WriteLine(newTime);//2023/11/21 23:26:04
10、DateTime.Now.AddMinutes:将指定的分钟数添加到当前时间中。
DateTime newTime = DateTime.Now.AddMinutes(15); Console.WriteLine(newTime);//2023/11/21 21:41:04
以上是一些常用的。
我们看到DateTime和DateTime.Now具有不少相同的属性和方法。但是它们并不是一样的,并且它们是代表不同的属性和方法。
DateTime结构中的属性,用于获取给定日期的年份部分。它接受一个DateTime对象,并返回该对象表示的日期的对应属性。
而DateTime.Now里面是属性是静态属性,相当于它已经定义好DateTime对象为当前日期的对象。
这点需要注意,得根据自己得需求进行相关调用。
到此这篇关于C#使用DateTime获取日期和时间的实现的文章就介绍到这了,更多相关C# DateTime获取日期和时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!