是否有一種簡單的方法可以獲取在ruby中的兩個日期之間傳遞的月數(多年)?獲取在Ruby中傳遞的月數
0
A
回答
3
我發現這個解決方案,它似乎是合乎邏輯和似乎工作。
startdate = Time.local(2001,2,28,0,0)
enddate = Time.local(2003,3,30,0,0)
months = (enddate.month - startdate.month) + 12 * (enddate.year - startdate.year)
參考:http://blog.mindtonic.net/calculating-the-number-of-months-between-two-dates-in-ruby/
0
你可以提供一些測試情況下,這裏的一個嘗試,沒有測試很實在:
def months_between d1, d2
d1, d2 = d2, d1 if d1 > d2
(d2.year - d1.year)*12 + d2.month - d1.month - (d2.day >= d1.day ? 0 : 1)
end
0
這解決月份邊緣的情況下(即2009年3月15日 - 2010年1月12日)
def months_between(d1, d2)
d1, d2 = d2, d1 if d1 > d2
y, m, d = (d2.year - d1.year), (d2.month - d1.month), (d2.day - d1.day)
m=m-1 if d < 0
y, m = (y-1), (m+12) if m < 0
y*12 + m
end
相關問題
- 1. 參數傳遞給Ruby中
- 2. 如何從sql日期和月份中獲取月份等於使用Hibernate條件的傳遞參數月份
- 3. 獲取的月數
- 4. Http獲取傳遞參數
- 5. 獲取傳遞給函數
- 6. 在ruby中傳遞布爾參數
- 7. Ruby on Rails在URL中傳遞參數
- 8. 獲取傳遞
- 9. 傳遞價值在Ruby中
- 10. 如何在ruby中獲取上個月的今天的日子?
- 11. 如何在Rails的ruby中獲取月份的名稱?
- 12. 在elasticsearch中傳遞json數據使用rest-client ruby獲取請求gem
- 13. JavaScript:獲取傳遞函數的參數?
- 14. 函數的傳遞函數獲取NameError
- 15. 在Ruby中獲取每月的最後一天
- 16. 從傳遞函數中獲取undefined
- 17. 在mySQL中獲取每月/每月的月/月銷售額
- 18. 傳遞參數,Ruby腳本
- 19. Joomla獲取變量在URL中傳遞
- 20. SBT:獲取所有傳遞的參數
- 21. 獲取月的數值-xsl
- 22. 在Ruby中訪問傳遞的塊
- 23. 獲取C中參數傳遞的數組元素的數量?
- 24. 獲取本月的月份
- 25. 在獲取參數中傳遞get參數
- 26. 我該如何獲取在url中傳遞的參數?
- 27. 如何獲取在performSegueWithIdentifier中傳遞的數據
- 28. 在iOS中獲取DateComponents中的月份
- 29. 獲取URL中傳遞的變量Laravel
- 30. Ruby:取消散列傳遞給proc?
看起來不錯,謝謝你們。 – dhulihan 2010-04-02 22:58:54