我看到答案如this但是如何在此之后添加1天?喜欢2年前和1天。
var myDate = DateTime.Now;
var newDate = myDate.AddYears(-2);
var NewExpiryDate = myDate.AddDays(-1);
var NewFinalDate = ?
答案 0 :(得分:7)
你做错了什么:
myDate
将是当前日期,然后您将当前日期添加-2
年并分配给newDate
。这不会更新myDate
它仍然是当前日期,因此您需要将-1
天添加到newDate
以获取所需的输出。您可以使用更简单的方式:
var newDate = myDate.AddYears(-2).AddDays(-1);
注意:日期函数
.AddYears()
不会改变源,它将返回添加指定数字的新DateTime 几年来这个实例的价值。 正如Soner所说,DateTime
是一个不可变类型,这意味着一个对象的状态在创建后无法修改。