Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过datetimepicker计算年龄_C# - Fatal编程技术网

C# 如何通过datetimepicker计算年龄

C# 如何通过datetimepicker计算年龄,c#,C#,可能重复: 如何使用c#中的datetimepicker计算年龄?严格来说 TimeSpan age = DateTime.Now - dateTimePicker.Value; 然而,计算某人的“年龄”只是稍微复杂一点 int years = DateTime.Now.Year - dateTimePicker.Value.Year; if(dateTimePicker.Value.AddYears(years) > DateTime.Now) years--; 由于年的长度不同

可能重复:

如何使用c#中的datetimepicker计算年龄?

严格来说

TimeSpan age = DateTime.Now - dateTimePicker.Value;
然而,计算某人的“年龄”只是稍微复杂一点

int years = DateTime.Now.Year - dateTimePicker.Value.Year;

if(dateTimePicker.Value.AddYears(years) > DateTime.Now) years--;
由于年的长度不同,您必须这样做,而不是依赖于表示特定时间量的结构,如
TimeSpan
(计算两个日期之间的“月”数也是如此,因为月的长度从28天到31天不等)


最后一行代码用于说明该人今年尚未过生日的原因。

假设DateTimePicker被称为dtpBirthday:

int age = DateTime.Now.Year - dtpBirthday.Value.Year - (DateTime.Now.DayOfYear < dtpBirthday.Value.DayOfYear ? 1 : 0);
int age=DateTime.Now.Year-dtpBirthday.Value.Year-(DateTime.Now.dayof Year
这不包括本月晚些时候的生日。例如,如果我的生日恰好是1901年2月24日,那么这个代码会说我已经109岁了,而我只是一个活泼的108.int years=DateTime.Now.Year-dateTimePicker.Value.Year;如果(dateTimePicker.Value.AddYears(years)>DateTime.Now)年--;>>为什么我在datetimepicker中添加了代码。。。。年龄不会出现?@malou17:添加代码不会让年龄出现,它只是计算年龄并将其放入变量中。您希望它看起来如何?逻辑相当圆滑,t datepicker的ValueChanged是您可以放置代码的地方。此网站上的第一个问题之一: