【问题标题】:C# DatePicker convert to DateTime and calculate the Age [duplicate]C# DatePicker 转换为 DateTime 并计算年龄 [重复]
【发布时间】:2018-07-24 06:29:32
【问题描述】:

我的 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);

【问题讨论】:

    标签: c# datetime datepicker


    【解决方案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

    【讨论】:

    • string.Format("{dd}", dateAge); 会抛出下一个异常
    • 非常感谢!您的回复帮助我解决了问题。
    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 2023-03-06
    • 2012-11-12
    相关资源
    最近更新 更多