回答
如果你想要一個近似值,你可以做一些事情如下:
var first = new DateTime(2010, 2, 13);
var second = new DateTime(2011, 6, 10);
var result = second.Subtract(first).Days/(365.25/12);
Console.Write(result);
其結果如下:
15,8357289527721
如果我可能會問爲什麼365.25? – johnnie
@johnnie因爲每4年有一個額外的天 – LaGrandMere
@johnnie在天文學中,Julian年是一個時間單位,定義爲365.25天,每個86400 SI秒(沒有閏秒)。它提供了更多的精度。如果你沒有使用.25,結果將是16,而不是15.83 ... – Jensen
public static int diffMonths(this DateTime startDate, DateTime endDate)
{
return (startDate.Year * 12 + startDate.Month + startDate.Day/System.DateTime.DaysInMonth(startDate.Year, startDate.Month))
- (endDate.Year * 12 + endDate.Month + endDate.Day/System.DateTime.DaysInMonth(endDate.Year, endDate.Month));
}
它計算與DaysInMonth你多遠當月推進,substracts結束日期 - 的startDate
注意你可以在取消時放下'-1'。 – Rawling
@完全正確的,我直接寫了它,我怎麼計算它,但2 -1可以被刪除:) – LaGrandMere
這將適用於您。 但您需要15.87個月的確切答案,您必須單獨維護月的天數enum DateTime dt1 = new DateTime(2010,02,13); DateTime dt2 = new DateTime(2011,06,10);
TimeSpan ts = dt2.Subtract(dt1);
double days = (double)ts.TotalHours/(24);
double months = days/30.4;
試試這個:
string fmt = "yyyy-MM-dd";
DateTime first = DateTime.Today;
for (int i = 0; i < 45; i++)
{
DateTime second = first.AddMonths(3).AddDays(i);
int wholeMonths = ((second.Year - first.Year) * 12) + second.Month - first.Month;
DateTime firstPlusWholeMonths = first.AddMonths(wholeMonths);
double fractMonths;
if (firstPlusWholeMonths == second) fractMonths = wholeMonths;
else
{
double diff = second.Subtract(firstPlusWholeMonths).TotalDays;
fractMonths = wholeMonths + (diff * 12/365.25);
}
Console.WriteLine("From {0} to {1} is {2} months.", first.ToString(fmt), second.ToString(fmt), fractMonths.ToString("0.00000000"));
}
- 1. Grails - 兩個日期之間的差異
- 2. VB - 兩個日期之間的差異
- 3. 兩個日期之間的差異
- 4. Javascript - 兩個日期之間的差異
- 5. 兩個表之間的日期差異
- 6. 兩個日期之間的差異
- 7. 兩個日期之間的差異python
- 8. 兩個日期之間的Ruby差異
- 9. 兩個日期()之間的JavaScript差異
- 10. 兩個日期之間的oracle差異
- 11. 兩個日期之間的差異Yii2
- 12. 在兩個日期之間的差異
- 13. 兩個Java日期之間的差異?
- 14. 兩個日期之間的Android差異?
- 15. Java:兩個日期之間的差異
- 16. 在兩個日期(日期時間)之間的差異
- 17. Adobe Air中兩個日期之間的日期差異
- 18. 排序依據日期兩個日期列之間的差異
- 19. 兩個日期之間的日期差異
- 20. 兩個日期之間的SQL查詢日期差異
- 21. 兩個日期之間的c + +日期差異
- 22. 日期之間的差異
- 23. 日期之間的差異
- 24. 在兩個日期之間獲取日期差異
- 25. 在Android的兩個日期之間差異的(年,月,日)
- 26. 兩個日期之間的星期/月的差異
- 27. 計算javascript中兩個日曆日期之間的差異
- 28. 如何找到兩個日期之間的星期差異
- 29. 如何獲得兩個日期之間的星期差異
- 30. excel中兩個日期之間的差異僅包括假期
「你嘗試過什麼」? –
由於月份長度不同,所以月份的分數是沒有意義的。 – Rawling
沒有「月份長度」的定義沒有答案。 –