使用自定义时间递减 DateTimePicker 日值

Decrement DateTimePicker day value with customized time

我想在单击按钮时减少 DateTimePicker 中的日期,并将自定义的 time 保留在 10:00:00

当我使用以下代码并从一个月返回到另一个(同年的上个月)时,它工作正常。

但是当我尝试从 2016 年返回到 2015 年时出现问题。例如,当我尝试从 1-1-2016 返回到 31-12-2015 时出现错误:"Year, Month, and Day parameters describe an un-representable DateTime"

dateTimePicker1.Value = new DateTime(dateTimePicker1.Value.Year, dateTimePicker1.Value.Month, dateTimePicker1.Value.Day - 1, 10, 00, 0);

任何人都知道如何在从一年回到另一年(前一年)时减少日期并保持自定义时间?请帮忙。谢谢

dateTimePicker1.ValueDateTime 并且 DateTime 具有正确修改日期和时间的方法

dateTimePicker1.Value = dateTimePicker1.Value.Date.AddDays(-1).AddHours(10);

它采用当前日期[午夜],计算前一个日期[仍然是午夜]并加上 10 小时[早上]