[英]DateTime.now or Time.now?
我應該在Rails應用程序中使用哪兩個:
DateTime.now or Time.now
在申請中使用兩者有什么危害嗎?
在上面( now
)的例子中,兩者之間是否會有任何差異? (在我目前的系統中,他們都顯示相同的時間)
使用(Date)Time.current
而不是(Date)Time.now
Rails擴展了Time
和DateTime
對象,並包含current
屬性,用於檢索Rails環境設置的時間(默認= UTC),而不是服務器時間(可能是任何東西)。
這很關鍵 - 除了在用戶輸入或顯示的時區之間進行轉換時,您應始終使用UTC時間,但許多生產系統默認不是 UTC。 (例如Heroku設置為PST(GMT -8))
請看這里的文章
參考Time.now
(不是DateTime.now
):
創建的對象將使用系統時鍾上可用的分辨率創建,因此可能包括小數秒。
a = Time.new #=> Wed Apr 09 08:56:03 CDT 2003
b = Time.new #=> Wed Apr 09 08:56:03 CDT 2003
a == b #=> false
"%.6f" % a.to_f #=> "1049896563.230740"
"%.6f" % b.to_f #=> "1049896563.231466"
如果你想在應用程序的時區獲得時間,你需要調用Time.zone.now
,這就是我通常使用的。
Time.now
和DateTime.now
都將返回系統時間的時間,通常設置為UTC。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.