C#中DateTime的时间加减法操作总结 【转载】

在C#语言中,DateTime是用来表示时间的类,在C#的DateTime时间类中,提供了好像时间对象加减法操作,可用于某一个时间对象加减 多少年、加减多少个月、加减多少天、加减多少小时、加减多少分钟、加减多少秒等操作,此文将总结C#的DateTime类中的时间加减操作运算。

(1)加减多少年操作:AddYears方法,具体参考C#使用AddYears方法获取当前时间20年后的时刻

- 2019-08-10 10:01

在C#语言中,DateTime.Now指的是程序当前时间,针对时间对象的操作,如果要计算某一个时间点N年后对应的时间时刻,则可以使用DateTime类的AddYears方法来实现。此文将介绍当前时间点20年后对应的时间点时刻的实现方式。

AddYears方法的签名为:DateTime AddYears(int value);,参数value为需要为加减的年数信息,如果value参数为负数时,则表示往前多少年对应的时间点,如果value值为正数则表示往后多少年对应的时间点。

例如获取当前时间的加上20年对应的时间时刻(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddYears(20);

运行结果为:result 结果为2039年8月10日 9:15:00。符合实际情况。

如果要获取当前时间的往前20年对应的时间信息,则可以使用下列代码。

DateTime result = DateTime.Now.AddYears(-20);

**************************************************************************************************************************************************

(2)加减多少月操作:AddMonths方法,具体参考C#使用AddMonths方法获取当前时间几个月后的时间点

C#使用AddMonths方法获取当前时间几个月后的时间点

- 2019-08-10 09:44

在C#语言中,DateTime.Now指的是程序当前时间,在DateTime类中有一个 AddMonths方法,此方法可用于时间的月数加减,例如某一个时间点加减几个月后对应的时间点。此文将介绍当前时间加减几个月对应的时间点,例如当前 时间减去一个月对应的上个月的时间点信息。

AddMonths方法的签名为:DateTime AddMonths(int months);,参数value为需要为加减的月数,为整型Int类型参数。当参数为负数时候,则表示以计算时间为基准点,向前计算,可以理解为减去多少个月后得到的时间点。

例如获取当前时间的加上1个月后的时间点(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddMonths(1);//获取当前时间往后1个月的时间点

运行结果为:result 结果为2019年9月10日 9:15:00。符合实际情况。

如果要获取当前时间的往前1个月对应的时间点则可以按下列代码实现:

DateTime result = DateTime.Now.AddMonths(-1);

**************************************************************************************************************************************************

(3)加减多少天操作:AddDays方法,具体参考C#使用AddDays方法获取当前日期前一天

C#使用AddDays方法获取当前日期前一天

- 2019-08-10 09:26

在C#语言中,DateTime.Now指的是程序当前时间,在DateTime类中有一个方法 AddDays方法,此方法主要是将指定天数加到对应的DateTime对象算,一般用来计算某个时间的前几天或者后几天。AddDays方法签名为 DateTime AddDays(double value),参数value代表需要加减的天数,可以为双精度double类型小数。此文将以此来介绍计算当前时间前一天。

在AddDays方法中,传入的参数可为正数也可为负数,如果是负数,则是返回计算时间之前的某个日期时间,可以理解为时间减法。

例如获取当前时间的前一天的这个时间点(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddDays(-1);//获取当前时间的前一天

运行结果为:result 结果为2019年8月9日 9:15:00。符合实际情况。

如果要获取当前时间的前半天时间,则传入参数0.5即可,代码如下:

DateTime result = DateTime.Now.AddDays(-0.5);//获取当前时间的前半天

**************************************************************************************************************************************************

(4)加减多少小时操作:AddHours方法,具体参考C#使用AddHours方法获取当前时间加减几个小时的时间

C#使用AddHours方法获取当前时间加减几个小时的时间

- 2019-08-10 09:33

在C#语言中,DateTime.Now指的是程序当前时间,在DateTime类中有一个 AddHours方法,此方法可用于计算时间的加减,参数为加减的小时数。返回结果为某一个时间对象加减多少个小时后得到的新的时间对象。此文将于当当前 加减20个小时为例讲解AddHours方法。

AddHours方法的签名为: DateTime AddHours(double value),参数value为需要加减的小时数,为双精度double类型,此参数可以为负数,当参数为负数的时候,则代表指定时间减去多少个小时后得到的时间对象。

例如获取当前时间的加上20个小时后的时刻(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddHours(20);//获取当前时间20个小时后的时刻点

运行结果为:result 结果为2019年8月11日 5:15:00。符合实际情况。

如果要获取当前时间的前20个小时对应的时刻,则传入参数-20即可,代码如下:

DateTime result = DateTime.Now.AddHours(-20);

**************************************************************************************************************************************************

(5)加减多少分钟操作:AddMinutes方法,具体参考C#使用AddMinutes方法获取当前时间加减几分钟对应的时刻

C#使用AddMinutes方法获取当前时间加减几分钟对应的时刻

- 2019-08-10 09:50

在C#语言中,DateTime.Now指的是程序当前时间,在DateTime类中有一个 AddMinutes方法,此方法用于指定时间对象往后多少分钟或者往前多少分钟对应的时刻,即指定时间对象加减多少分钟对应的时间点对象。此文将介绍当 前时间点加减几分钟后对应的时间对象的代码实现。

AddMinutes方法的签名为:DateTime AddMinutes(double value);,参数value为需要为加减的时间分钟数,可以为正数也可以为负数,当为正数的情况下,则为往后计算。若为负数,则表示以计算时间点为基准点向前计算。

例如获取当前时间的加上2分钟后的时间点(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddMinutes(2);

运行结果为:result 结果为2019年8月10日 9:17:00。符合实际情况。

如果要获取当前时间的往前130分钟对应的时间点,则可以使用下列代码。

DateTime result = DateTime.Now.AddMonths(-130);

**************************************************************************************************************************************************

(6)加减多少秒操作:AddSeconds方法,具体参考C#使用AddSeconds方法获取当前时间加减多少秒数后对应的时间

C#使用AddSeconds方法获取当前时间加减多少秒数后对应的时间

- 2019-08-10 09:56

在C#语言中,DateTime.Now指的是程序当前时间,在DateTime类中有一个 AddSeconds方法,此方法用于计算指定时间对象往后多少秒对应的时间点或者往前多少秒对应的时间点,即指定时间对象加减多少秒数对应的时间点对 象。此文将以当前时间加减多少秒后对应的时间点为例讲解。

AddSeconds方法的签名为:DateTime AddSeconds(double value);,参数value为需要为加减的秒数信息,当value取值为负数时候,则是往前计算多少秒前的时间点,可以理解为时间的减法。

例如获取当前时间的加上60秒后对应的时间(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddSeconds(60);

运行结果为:result 结果为2019年8月10日 9:16:00。符合实际情况。

如果要获取当前时间的往前60秒对应的时间点,则可以使用下列代码。

DateTime result = DateTime.Now.AddSeconds(-60);

**************************************************************************************************************************************************

C#使用AddDays方法获取当前日期前一天

- 2019-08-10 09:26

在C#语言中,DateTime.Now指的是程序当前时间,在DateTime类中有一个方法 AddDays方法,此方法主要是将指定天数加到对应的DateTime对象算,一般用来计算某个时间的前几天或者后几天。AddDays方法签名为 DateTime AddDays(double value),参数value代表需要加减的天数,可以为双精度double类型小数。此文将以此来介绍计算当前时间前一天。

在AddDays方法中,传入的参数可为正数也可为负数,如果是负数,则是返回计算时间之前的某个日期时间,可以理解为时间减法。

例如获取当前时间的前一天的这个时间点(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime result = DateTime.Now.AddDays(-1);//获取当前时间的前一天

运行结果为:result 结果为2019年8月9日 9:15:00。符合实际情况。

如果要获取当前时间的前半天时间,则传入参数0.5即可,代码如下:

DateTime result = DateTime.Now.AddDays(-0.5);//获取当前时间的前半天

**************************************************************************************************************************************************

C#获取当前月的天数信息

- 2019-08-10 09:18

在C#语言中,DateTime.Now指的是程序当前时间,通过DateTime.Now变量下的属性 Year可获取到当前年,Month可获取到当前月,可以使用DateTime.DaysInMonth方法来获取当前月或者指定年份月的天数信 息,DaysInMonth方法签名为int DaysInMonth(int year, int month),参数year代表年,参数month代表月。

例如获取当前时间的当前月天数(程序运行时间为:2019/8/10 9:15:00),编写代码如下:

DateTime nowTime = DateTime.Now;

int year = nowTime.Year;//获取当前年

int month = nowTime.Month;//获取当前月

int monthDays = DateTime.DaysInMonth(year, month);

运行结果为:monthDays=31。符合实际情况。

**************************************************************************************************************************************************

C#中获取某一个年份的天数

- 2019-08-10 00:32

在C#中,DateTime是用来表示时间的类,从DateTime.Now中可以获取当前所在年份。此文 将介绍如果给定一个具体年份,如何通过C#语言来获取到该年有多少天。最直接的例子为获取当前年份的天数。在这里主要使用到了 DateTime.IsLeapYear方法,DateTime.IsLeapYear方法是用来判断闰年的内置方法。

下面实例是获取当前年(即2019年)的总天数的代码:

int year = DateTime.Now.Year;//DateTime.Now表示当前时间,从DateTime.Now时间中获取年份属性Year

int totalDay = 365;//默认为非闰年

if (DateTime.IsLeapYear(year))

{

totalDay = 366;//DateTime.IsLeapYear判断结果为闰年,有366天

}

从运行结果来看: totalDay = 365。

**************************************************************************************************************************************************

C#中获取某一个日期是星期几

- 2019-08-10 00:24

在C#中,DateTime是用来表示时间的类,DateTime.Now可以获取当前时间。如果给定一个 日期,在C#中如何获取该日期是星期几呢,例如获取当前日期时间,并计算出当前日期是星期几,此功能可以通过DateTime的ToString方法来实 现,指定格式化参数为dddd即可实现。

下面实例是获取当前日期是星期几的实例代码:

string xingQiJi = DateTime.Now.ToString("dddd");

从运行结果来看:xingQiJi=“星期六”。正好符合当前博文发表时间的实际结果。

**************************************************************************************************************************************************