如何将一年添加到日期并选择特定月份

时间:2017-03-22 15:15:46

标签: c# datetime

如果NextInspectionDueDate小于或等于今天的日期,那么我想将其值更新为同一天但明年,特别是4月份。

我已经尝试过以下但是它给出了“有一些无效的参数”错误。 我只是无法弄清楚正确的语法。也许我应该以不同的方式做到这一点?

if (foundVehicle.Vehicle.NextInspectionDueDate <= DateTime.Now)
{
    foundVehicle.Vehicle.NextInspectionDueDate = new DateTime(DateTime.Now.AddYears(1), 4);
}

2 个答案:

答案 0 :(得分:3)

您刚刚忘记了构造函数的参数(该月的某一天):

foundVehicle.Vehicle.NextInspectionDueDate = new DateTime(DateTime.Now.AddYears(1).Year, 4, 1);

答案 1 :(得分:1)

您有一个缺少的参数(日),也许您可​​以尝试:

var tempdate = DateTime.Now.AddYears(1); foundVehicle.Vehicle.NextInspectionDueDate = new DateTime(tempdate.Year, 4, tempdate.Day);

如果您需要保持当前日期

var day = foundVehicle.Vehicle.NextInspectionDueDate.Day; var tempdate = DateTime.Now.AddYears(1); foundVehicle.Vehicle.NextInspectionDueDate = new DateTime(tempdate.Year, 4, day);

如果您需要保留原始日期