C#DatePicker转换为DateTime并计算年龄

时间:2018-07-24 06:29:32

标签: c# datetime datepicker

我在WPF窗口中有一个DatePicker(CPTestDP),选择的日期以文本形式保存到SQL日期库中。我想用下面的代码根据今天的日期计算年龄(多少天)。但它会在CFTestDP.SelectedDate处出错。

错误消息显示:

  

属性或索引器可能不作为out或ref参数传递。

有人可以帮忙吗?非常感谢。

DateTime thisDay = DateTime.Today;
DateTime startDay = DateTime.TryParse(CFTestDP.SelectedDate, out CFTestDP.SelectedDate);
TimeSpan dateAge = thisDay - startDay;
txtAge.Text = string.Format("{dd}", dateAge);

1 个答案:

答案 0 :(得分:1)

正如我在文档中看到的那样,您应该在TryParse中作为第二个参数传递对类型为DateTime的变量的引用,它将返回一个布尔值,该布尔值告诉您分析是否可以进行或不。因此,您的代码应如下所示:

DateTime thisDay = DateTime.Today;
DateTime startDay;
bool result = DateTime.TryParse(CFTestDP.SelectedDate, out startDay);//CFTestDP.SelectedDate should be string

if(result)
{
   TimeSpan dateAge = thisDay - startDay;
   txtAge.Text = string.Format("{dd}", dateAge);
}
else
{
   //Unable to parse
}

来源:https://msdn.microsoft.com/es-es/library/ch92fbc1(v=vs.110).aspx