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

时间:2016-01-01 18:20:19

标签: c# winforms datetimepicker

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

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

但问题是当我尝试从2016年回到2015年时。例如,当我尝试从1-1-2016返回31-12-2015时,它会出错:“年,月和日参数描述一个不可表示的DateTime“

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

任何人都知道如何在从一年到另一年(去年)回归的过程中减少一天并保持定制时间?请帮忙。谢谢

1 个答案:

答案 0 :(得分:1)

dateTimePicker1.ValueDateTimeDateTime有正确修改日期和时间的方法

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

需要当前日期[午夜],计算上一个日期[仍然是午夜]并增加10个小时[早上]