回答
我可以建議的最好的方法是獲取總天數,然後通過相應的除以大致計算月數。喜歡的東西:
DateTime dt1 = new DateTime(2010, 10, 23);
DateTime dt2 = new DateTime(2010, 7, 23);
TimeSpan ts = dt1 - dt2;
int days_per_month = 30;
Console.Write(ts.TotalDays/days_per_month);
如果你真的是沒事的東西,如2010年2月,第1 - 2010年01月31,傳回1每月的答案,然後給上面的代碼,你將能夠獲得在這一點很容易通過使用
Console.Write(dt1.Month - dt2.Month);
這沒有考慮到年,所以我在這裏按照其他答案。 :)
如果你不知道如何計算在.NET這裏日期跨度是很好的例子:
DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now.AddSeconds(75); TimeSpan span = endTime.Subtract (startTime); Console.WriteLine("Time Difference (seconds): " + span.Seconds); Console.WriteLine("Time Difference (minutes): " + span.Minutes); Console.WriteLine("Time Difference (hours): " + span.Hours); Console.WriteLine("Time Difference (days): " + span.Days);
來源:here 。
DateTime不公開每月的差異,因爲每個月都有不同的天數。獲取月份的最簡單方法是totaldays/30
。
爲什麼如此之多的票?這不做什麼是必需的! – 2010-02-10 05:11:47
不得不同意...這個問題並不十分清楚,但這大大地忽略了這個標記,它只是Google第一次爲問題的確切文本命中而進行的透明覆制和粘貼作業。 -1。 – Aaronaught 2010-02-10 05:48:54
既然你已經知道你的日期將是第一個月:
int totalMonths = (date2.Year - date1.Year)*12 + date2.Month - date1.Month;
鑑於你已經到你原來的問題所作的更新:如何編寫一個函數,它有兩個日期,並執行以下,
DateTime d1 = new DateTime(2008, 12, 1);
DateTime d2 = new DateTime(2009, 1, 1);
var month_diff = (d2.Year - d1.Year)*12 + (d2.Month - d1.Month);
Console.WriteLine(month_diff);
- 1. sql server中兩個日期之間的月份差異
- 2. 兩個日期之間的月份差異計算lastdate月
- 3. 兩個月之間的月份差異
- 4. PHP在兩個日期之間的月份差異?
- 5. 爲什麼這種方法不能獲得兩個日期之間的差異?
- 6. 計算兩個datetime.date()日期之間在年份和月份之間的差異
- 7. 找出兩個正整數之間差異的最簡單方法是什麼?
- 8. 如何在MySQL中獲得兩個日期值的差異,結果是月份?
- 9. 兩個日期之間的月份差異 - yyyymm格式
- 10. 獲取年份中兩個日期之間的差異
- 11. PHP:最簡單的方法是在第一個月的6個月之前獲取月份的日期?
- 12. 在Android的兩個日期之間差異的(年,月,日)
- 13. 如何獲得PHP中兩個日期之間的差異?
- 14. 如何獲得兩個日期之間的星期差異
- 15. 兩個日期之間的星期/月的差異
- 16. 減去兩個日期以獲得月份差異
- 17. 如何獲得兩個日期之間的月份集合?
- 18. 在兩個日期之間的差異
- 19. 在C#中的兩個日期之間的差異#
- 20. 將最大日期範圍描述中的兩個日期之間的差異顯示的最簡單方法是什麼?
- 21. 年份中兩個日期之間的Pythonic差異?
- 22. 如何找到兩個日期之間的年份和月份差異?
- 23. 如何獲得PHP中兩個日期之間的絕對日期差異?
- 24. 計算兩個日期之間的差異並獲得年份的值?
- 25. PHP DateInterval:兩個不同月份中的同一日期之間的差異不是一個月
- 26. 在JavaScript中使用年,月,日的兩個日期之間的差異
- 27. 比較兩個日期並獲得年,月,日的差異
- 28. javascript中的月份日期差異
- 29. 什麼是獲得記錄的列之間的差異最好的方法
- 30. Linq查詢與2個日期之間的月份差異
你應該明確你的意思是'月的差異'。例如,您是否希望2010年1月31日至2010年2月1日的差異爲1個月? – 2010-02-10 04:57:52
是的,我希望它是在這種情況下1個月的差異。 我的要求規定date1和date2將始終是給定月份中的第一個。謝謝! – 2010-02-10 05:02:00
我用評論更新了我的答案,並且實際上會根據給出的這些新信息更新我的答案文本。 – Dave 2010-02-10 05:30:48