C# DateTime 时间加减操作运算
一、加减年操作:AddYears方法
在C#语言中,DateTime.Now指的是程序当前时间,针对时间对象的操作,如果要计算某一个时间点N年后对应的时间时刻,则可以使用DateTime类的AddYears方法来实现。
//加20年 DateTime result = DateTime.Now.AddYears(20); //减20年 DateTime result = DateTime.Now.AddYears(-20);
DateTime AddYears(int value),参数value为需要为加减的年数信息,如果value参数为负数时,则表示往前多少年对应的时间点,如果value值为正数则表示往后多少年对应的时间点。
二、加减多少月操作:AddMonths方法
C#使用AddMonths方法获取当前时间几个月后的时间点
//获取当前时间往后1个月的时间点 DateTime result = DateTime.Now.AddMonths(1); //获取当前时间往前1个月的时间点 DateTime result = DateTime.Now.AddMonths(-1);
DateTime AddMonths(int months),参数value为需要为加减的月数,为整型Int类型参数。当参数为负数时候,则表示以计算时间为基准点,向前计算,可以理解为减去多少个月后得到的时间点。
三、加减多少天操作:AddDays方法
C#使用AddDays方法获取当前日期前一天
//获取当前时间的前一天 DateTime result = DateTime.Now.AddDays(-1); //获取当前时间的前半天 DateTime result = DateTime.Now.AddDays(-0.5);
DateTime AddDays(double value),参数value代表需要加减的天数,可以为双精度double类型小数。
在AddDays方法中,传入的参数可为正数也可为负数,如果是负数,则是返回计算时间之前的某个日期时间,可以理解为时间减法。
四、加减多少小时操作:AddHours方法
C#使用AddHours方法获取当前时间加减几个小时的时间
//获取当前时间20个小时后的时刻点 DateTime result = DateTime.Now.AddHours(20); DateTime result = DateTime.Now.AddHours(-20);
DateTime AddHours(double value),参数value为需要加减的小时数,为双精度double类型,此参数可以为负数,当参数为负数的时候,则代表指定时间减去多少个小时后得到的时间对象。
五、加减多少分钟操作:AddMinutes方法
C#使用AddMinutes方法获取当前时间加减几分钟对应的时刻
DateTime result = DateTime.Now.AddMinutes(2); DateTime result = DateTime.Now.AddMonths(-130);
DateTime AddMinutes(double value),参数value为需要为加减的时间分钟数,可以为正数也可以为负数,当为正数的情况下,则为往后计算。若为负数,则表示以计算时间点为基准点向前计算。
六、加减多少秒操作:AddSeconds方法
C#使用AddSeconds方法获取当前时间加减多少秒数后对应的时间
DateTime result = DateTime.Now.AddSeconds(60); DateTime result = DateTime.Now.AddSeconds(-60);
DateTime AddSeconds(double value),参数value为需要为加减的秒数信息,当value取值为负数时候,则是往前计算多少秒前的时间点,可以理解为时间的减法。
七、应用实例
7.1 获取当前年、月以及月份的天数 DateTime.DaysInMonth(year, month)
在C#中,通过DateTime.Now变量下的属性 Year可获取到当前年,Month可获取到当前月,可以使用DateTime.DaysInMonth方法来获取当前月或者指定年份月的天数信息;
int DaysInMonth(int year, int month),参数year代表年,参数month代表月。
//获取当前日期时间 DateTime nowTime = DateTime.Now; //获取当前年 int year = nowTime.Year; //获取当前月 int month = nowTime.Month; //获取当前月份天数 int monthDays = DateTime.DaysInMonth(year, month);
7.2 获取某一个年份的天数(是否年份为闰年)
在C#中,DateTime是用来表示时间的类,从DateTime.Now中属性 Year可以获取当前所在年份;DateTime.IsLeapYear方法是用来判断闰年的内置方法。
//获取当前年份 int year = DateTime.Now.Year; //默认为非闰年 int totalDay = 365; //根据IsLeapYear判定指定年份是否为闰年 if (DateTime.IsLeapYear(year)) { //DateTime.IsLeapYear判断结果为闰年,有366天 totalDay = 366; }
7.3 获取某一个日期是星期几
在C#中,可通过DateTime的ToString方法来实现获取当前日期是星期几,指定格式化参数为dddd即可;
string xingQiJi = DateTime.Now.ToString("dddd");