How do I find the age of a vehicle in months c#
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
How to get difference between two dates in Year/Month/Week/Day?
Difference in months between two dates (C#, .NET)
您好!我是C的新手,当我输入注册日期时,我需要在几个月内找出一辆车的年龄。我想知道是否有人能为我指明正确的方向。谢谢
日子很容易安排,但要讨论的几个月真是太多了。
以下代码使用平均30.4(365/12)天/月。
1 2 3 4 5 | TimeSpan age = DateTime.ToDay - RegistrationDate; double months1 = age.TotalDays / 30.4; int months = (int) months1; |
但是一些业务系统将有自己的规则,可能从2011-04-30到2011-05-01将被计算为1个月。你需要一个好的定义。
请参见>两个日期之间的月份差异
这更好>如何在年/月/周/日中获得两个日期之间的差异?
一个非常粗糙的方法是,简单地从当前时间中减去注册日期,然后从天数中得到总月份:
1 2 | TimeSpan age = DateTime.Now - registrationDate; int months = (int) (age.TotalDays/30); |
几年后(大约六到七年),你会有额外的几个月。以月计算并不容易,因为一个月不是一个确切的数量。我猜一辆六岁的车可能很常见,所以这可能不太适合。
一个更好的选择是直接减去年份和月份:
1 2 3 | int fullYears = (now.Year - registrationDate.Year) * 12; int partialYear = now.Month - registrationDate.Month; int months = fullYears + partialYear; |
您可以检查