基本上我使用的是MySQL gem for Ruby,我沒有合理的日期比較支持。 Mysql::Time
類只給了我像年,月,秒等accessor方法。我可以做更好的日期比較,如果我可以把它變成一個Ruby DateTime對象。如何將MySQL的日期時間字段轉換爲可以傳遞給DateTime.jd
的Julian日期編號?我怎樣才能讓mysql輸出一個DateTime到Julian天數?
2
A
回答
1
2
你可以使用MySQL的TO_DAYS
功能來獲得日期爲一個整數天數從年初的零(和只添加適當的偏移,以一個Julian Day number),或者你可以使用UNIX_TIMESTAMP
函數來獲得的整數倍自1970-01-01 00:00:00 UTC以來的秒數。
+0
「適當的偏移」是1721059.5 – dan04 2010-07-04 05:00:35
+0
@ dan04,我認爲Ruby希望它是一個*整數*,沒有0.5,但我不確定。一些實驗可能是爲了。 – 2010-07-04 11:27:47
1
class Mysql::Time
def to_datetime
DateTime.civil(year,month,day,hour,minute,second)
end
end
4
用途:
TO_DAYS(col)+1721060
要轉換爲Julian日期。
和:
FROM_DAYS(col-1721060)
從Julian日期轉換。
(我使用它始於午夜,因爲它更實用的年代公曆日期。)
相關問題
- 1. 我怎樣才能得到一個縣的天氣數據?
- 2. 我怎樣才能讓
- 3. 我怎樣才能變出一個班?
- 4. 我怎樣才能讓我的javacode輸出爲json
- 5. 我怎樣才能讓我的GUI輸出結果?
- 6. 我怎樣才能讓這個更好
- 7. 我怎樣才能在MySQL
- 8. 我怎樣才能在MYSQL
- 9. 我怎樣才能在MySQL
- 10. 我怎樣才能讓一個圓點出現在標籤中?
- 11. 我怎樣才能得到一個TD
- 12. 我怎樣才能得到一個RejectedExecutionException
- 13. 我怎樣才能得到一個PortletRequest
- 14. 我怎樣才能找到一個DataTable
- 15. 我怎樣才能讓我的autosuggest與mysql一起工作
- 16. 我怎樣才能讓這樣的
- 17. 我怎樣才能每天迭代一個數組?
- 18. 我怎樣才能讓這個MySQL查詢2個表
- 19. 我怎樣才能讓一個跨度文本溢出,像輸入
- 20. 我怎樣才能得到這個輸出?
- 21. 我怎樣才能得到這個輸出?
- 22. 我怎樣才能讓CMake讓「乾淨」只是一個目標?
- 23. 我怎樣才能讓這個程序打印出用戶輸入的數字?
- 24. jquery:我怎樣才能讓一個數字元素可摺疊?
- 25. 我怎樣才能讓pip安裝包一個接一個?
- 26. 我怎樣才能得到一個輸出插入數據使用從
- 27. 我怎樣才能輸出每行6個Sql數據
- 28. 我怎樣才能讓mysql從數據庫表中打印行
- 29. 我怎樣才能得到一個MySQL表上的字段?
- 30. 我怎樣才能得到
小心使用DateTime.jd因爲我已經發現,它可能不是已經打算與日期時間子類中使用的的日期。僅對Date類是正確的。爲了顯示這個嘗試DateTime.jd(2455145)。然後插入相同的數字到這裏http://aa.usno.navy.mil/data/docs/JulianDate.php你有沒有得到正確的時間?所有沒有小數的Julian Day數字都應該顯示12:00這個使用DateTime對象進行Ruby轉換的jd可能是一個bug。如果是這樣的話,請有人報告,因爲我不知道該從哪開始。謝謝!只是我使用DateTime.jd()的兩分錢。 – 2013-11-16 12:38:12
我可以從http://apidock.com/ruby/DateTime/jd/class證實這一點但是,由於他們展示了一個解決方案,我將收回我對該錯誤的評論。它似乎還是錯誤的。對於Date.ajd()應該有一個像Date一樣的方法,您可以發送一個Julian日數字,並且仍然可以獲得時間。 http://apidock.com/ruby/v1_9_3_392/Date/jd/class我有些惱火,他們總是使用省略號來敲定它。必須做你自己的事情才能真正看到它。並注意.ajd()不提供適當的轉換,以包含數字DateTime.ajd(2455145.5),因爲我認爲這是正確的。 – 2013-11-16 13:15:39