如何从日期时间中减去一年和一天?

时间:2016-06-03 03:59:02

标签: c# datetime

我看到答案如this但是如何在此之后添加1天?喜欢2年前和1天。

var myDate = DateTime.Now;
var newDate = myDate.AddYears(-2);
var NewExpiryDate = myDate.AddDays(-1);
var NewFinalDate = ?

1 个答案:

答案 0 :(得分:7)

你做错了什么:

myDate将是当前日期,然后您将当前日期添加-2年并分配给newDate。这不会更新myDate它仍然是当前日期,因此您需要将-1天添加到newDate以获取所需的输出。您可以使用更简单的方式:

var newDate = myDate.AddYears(-2).AddDays(-1);
  

注意:日期函数.AddYears()不会改变源,它将返回添加指定数字的新DateTime   几年来这个实例的价值。   正如Soner所说,DateTime是一个不可变类型,这意味着一个对象的状态在创建后无法修改。