C#使用DateTime获取日期和时间

2023-12-13 19:27:19

在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对象为当前日期的对象。

这点需要注意,得根据自己得需求进行相关调用。

文章来源:https://blog.csdn.net/mr_five55/article/details/134541647
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。