在用户输入开始日期和闰年帐户后,将结束日期值显示为1年

Kin*_*mau 3 .net c# wpf visual-studio-2010 winforms

我还在学习C#,我的SAP附加工资单程序有问题.

我有一个用户选择开始时段的表单.即"2011年1月1日"通过visual basic 2010创建的日期时间选择器(1).

我想在表单上另一个日期时间选择器(2)自动显示一年后的结束时段.在开始期间="2011年1月1日"的情况下,我希望结束期间为"2011年12月31日".

我的代码:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
     var endDate = default(DateTime);

     endDate = dateTimePicker1.Value.AddDays(365);

     dateTimePicker2.Value = endDate;
} 
Run Code Online (Sandbox Code Playgroud)

我的2个问题.

  1. 以上并未说明闰年.我该如何解决这个问题?

  2. 使用上面的代码,当选择2011年1月1日时,结束日期显示不正确,2012年1月1日,但是当我输入2011年3月1日时,结束日期正确显示,2012年2月29日.这可能与第一个问题有关?

任何帮助赞赏.

Ale*_*Aza 5

dateTimePicker1.Value.AddYears(1).AddDays(-1);
Run Code Online (Sandbox Code Playgroud)