在一个文本框中键入日期并进行计算

时间:2016-06-25 19:18:56

标签: c#

我在c#中编写了一个代码来查找出生年龄。但是如何在一个文本框中输入日期并计算出生日期和当前日期之间的年龄。请帮助我!

2 个答案:

答案 0 :(得分:0)

首先,您必须从文本框文本创建DateTime。这可以使用DateTime.Parse()或更好DateTime.TryParse()来完成。

string text  = "06/25/2016";
DateTime date = DateTime.Parse(text);
TimeSpan duration = DateTime.Now - date;
int years = (int)(duration.TotalDays / 365.25);

要获得准确的结果,请查看Noda Time,例如:Format A TimeSpan with years

答案 1 :(得分:0)

var birthDateInput = yourTextBox.Text;
DateTime birthDate;

TimeSpan age;

if(DateTime.TryParse(out birthDate))
{
    age = DateTime.Now - birthDate;
}

完成此操作后,如果输入字符串是有效日期,则age将包含表示已用时间的TimeSpan。您可能需要更多验证。如果用户在将来输入日期,那么年龄将是负数。