根据访问日期计算年龄
Calculate Age based on Visit Date
我需要编写 C# 代码来根据出生日期和固定的考试访问日期计算一个人的年龄。
目前代码是这样写的:
public static int CalculateAge(string birthdate)
{
DateTime dob = DateTime.Parse(birthdate);
int age = DateTime.Now.Year - dob.Year;
if (DateTime.Now.Month < dob.Month)
{
age--;
}
else if (DateTime.Now.Month == dob.Month &&
DateTime.Now.Day < dob.Day)
{
age--;
}
return age;
}
我需要传入一个名为 ExamDate 的第二个变量来计算年龄。目前的编写方式,当 FastReport 是 运行 时,假设 3 年后,显然现在 22 岁的人在显示报告时将是 25 岁。我知道我们不能使用 DateTime.Now
将第二个日期作为参数传递,并将所有出现的日期从 DateTime.Now
更改为该日期:
public static int CalculateAge(string birthdate, string examDate)
{
DateTime dob = DateTime.Parse(birthdate);
DateTime ed = DateTime.Parse(examDate);
int age = ed.Year - dob.Year;
if (ed.Month < dob.Month)
{
age--;
}
else if (ed.Month == dob.Month &&
ed.Day < dob.Day)
{
age--;
}
return age;
}
因此,当您传递人的出生日期和考试日期时,结果将始终相同。
我需要编写 C# 代码来根据出生日期和固定的考试访问日期计算一个人的年龄。
目前代码是这样写的:
public static int CalculateAge(string birthdate)
{
DateTime dob = DateTime.Parse(birthdate);
int age = DateTime.Now.Year - dob.Year;
if (DateTime.Now.Month < dob.Month)
{
age--;
}
else if (DateTime.Now.Month == dob.Month &&
DateTime.Now.Day < dob.Day)
{
age--;
}
return age;
}
我需要传入一个名为 ExamDate 的第二个变量来计算年龄。目前的编写方式,当 FastReport 是 运行 时,假设 3 年后,显然现在 22 岁的人在显示报告时将是 25 岁。我知道我们不能使用 DateTime.Now
将第二个日期作为参数传递,并将所有出现的日期从 DateTime.Now
更改为该日期:
public static int CalculateAge(string birthdate, string examDate)
{
DateTime dob = DateTime.Parse(birthdate);
DateTime ed = DateTime.Parse(examDate);
int age = ed.Year - dob.Year;
if (ed.Month < dob.Month)
{
age--;
}
else if (ed.Month == dob.Month &&
ed.Day < dob.Day)
{
age--;
}
return age;
}
因此,当您传递人的出生日期和考试日期时,结果将始终相同。