急,急,简单算法问题?
private int Age(string txtIdCard)
{
DateTime birthday = BirthDate(this.txtIdCard.Text); //方法在下面
return DateTime.Today.CompareTo(birthday);
}
private DateTime BirthDate(string txtIdCard)
{
try
{
if (txtIdCard.Length == 15)
{
return new DateTime(int.Parse("19" + txtIdCard.Substring(7, 2)), int.Parse(txtIdCard.Substring(9, 2)), int.Parse(txtIdCard.Substring(11, 2)));
}
else if (txtIdCard.Length == 18)
{
return new DateTime(int.Parse(txtIdCard.Substring(6, 4)), int.Parse(txtIdCard.Substring(10, 2)), int.Parse(txtIdCard.Substring(12, 2)));
}
else
return DateTime.MinValue;
}
catch { return DateTime.MinValue; }
}
txtIdCard为接收的身份证号码,为什么计算的年龄不正确啊??请高手指教??