我正在尝试根据DOB计算年龄。
Int32 DOB = 19900427;
Int32 current = 20140111;
Int32 result = current - dob;
现在我只需要在文本框中显示结果的起始2位数。你能帮帮我吗?
答案 0 :(得分:3)
不要这样做。只是不要。你不能通过从另一个值中减去一个值来获得有用的年龄表示 - 你会发现两个相隔一天出生的人之间的差异可能会根据这些日期的具体时间而大不相同。
例如,考虑三个出生日期为:
的人A: December 30th 2013 - 20131230
B: December 31st 2013 - 20131231
C: January 1st 2014 - 20140101
这给出了A和B的年龄为1的差异,但是B和C的年龄之间的差异是8870.这肯定对你没有好处。
使用DateTime
表示日期 - 或者最好使用Noda Time库中的LocalDate
。然后,您可以根据需要确定日期之间的差异 - 例如,可能仅在几天内。