我试图计算某人的年龄,但它一直给我一个错误

时间:2017-03-10 19:17:12

标签: c# calendar

我们在学校做了一项任务,用日历计算某人的年龄。 我想我差不多完成但是我被卡住了。

    int todaysYear;
    int selectedYear;
    todaysYear = DateTime.Now.Year;
    selectedYear = kalVerjaardag.SelectedDate.Year;
    txtLeeftijd.Text = todaysYear - selectedYear;

这是我正在使用的当前代码,在我的代码的最后部分它告诉我它不能将“int”转换为“string”。 我该怎么做才能解决这个问题?提前致谢:D。

2 个答案:

答案 0 :(得分:0)

要让这个人的年龄成为字符串,你可以做同样的事情:

int todaysYear;
int selectedYear;
todaysYear = DateTime.Now.Year;
selectedYear = kalVerjaardag.SelectedDate.Year;

txtLeeftijd.Text = Convert.ToString(todaysYear - selectedYear);

答案 1 :(得分:0)

您的代码问题是将int转换为string,请尝试以下操作:

txtLeeftijd.Text = (todaysYear - selectedYear).ToString()

在您的示例中,它仅计算年份,下面的代码将为您提供年,月和日。

private string getAge()
{
    DateTime startTime = Convert.ToDateTime(selectedDateTime);
    DateTime endTime = DateTime.Today;
    TimeSpan span = endTime.Subtract(startTime);
    var totalDays = span.TotalDays;
    var totalYears = Math.Truncate(totalDays / 365);
    var totalMonths = Math.Truncate((totalDays % 365) / 30);
    var remainingDays = Math.Truncate((totalDays % 365) % 30);
    return string.Format("{0} year(s), {1} month(s) and {2} day(s)", totalYears, totalMonths, remainingDays);
}