year = model.Jdate.ToString("yyyy");
month = model.Jdate.ToString("MM");
day = model.Jdate.ToString("dd");
DateTime dt = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day));
date = dt.AddYears(1).ToString("yyyy年MM月dd日");
现有需求:从资料库取出日期,并且计算一整年后的日期。
但是似乎用AddYears()得到的日期并不准确,总是差了一天。
AddYears 方法计算生成的年,同时考虑闰年。 生成的 DateTime 对象的月和时间部分与此实例相同。是考虑了闰年的,官方写的。得到的时间差一天?还是差几个小时,具体些?
怎么就差了一天呢,1月1号,肯定是道12月31号是一年,不会是到1月1号是一年
如果 value + DateTime.Year 也是一个闰年返回值,该年份表示闰日。 例如,如果四年添加到2012年2月29日,日期返回为2016年2月29日。
如果 value + DateTime.Year 不是一个闰年,返回值表示该年闰日的前一天。 例如,如果1年添加到2012年2月29日,日期返回为2013年2月28日。
[https://msdn.microsoft.com/zh-cn/library/system.datetime.addyears.aspx](https://msdn.microsoft.com/zh-cn/library/system.datetime.addyears.aspx "")
年月日部分:变成下一年的同月同日,如果日数超过该月的最大日数就取最大日数(唯一的就是闰年的2月29到了下一年变成2月28)。
时间部分:保持不变。
2016年是闰年。楼主是计算的今年的时间么?
AddYears 方法计算生成的年,同时考虑闰年
呵呵 既然每次都给你多加一天,你再减去一天不就可以了, 何必纠结呢