簡體   English   中英

DateTime.now還是Time.now?

[英]DateTime.now or Time.now?

我應該在Rails應用程序中使用哪兩個:

DateTime.now or Time.now

在申請中使用兩者有什么危害嗎?

在上面( now )的例子中,兩者之間是否會有任何差異? (在我目前的系統中,他們都顯示相同的時間)

使用(Date)Time.current而不是(Date)Time.now

Rails擴展了TimeDateTime對象,並包含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.nowDateTime.now都將返回系統時間的時間,通常設置為UTC。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM