首页 > 代码库 > rails时间问题

rails时间问题

问题

[ruby-on-rails]    [ruby]    [time]    [timezone]   
DateTime.now或Time.now?

这两个我应该用我的Rails应用程序:

DateTime.now or Time.now

 

有没有在应用程序中使用这两种有什么害处?

哪有永远是如果以上(

now

)为例,两者之间的差异? (在我的当前系统,他们都显示相同的时间)



作者  - Zabba
编辑  - Simone Carletti
 

答案

Rank --  2

在谈到

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"

 


作者  - slandau
编辑  - Simone Carletti
Rank --  2

如果你想获得在应用程序的时区的时间,你就需要调用

Time.zone.now

,所以这是我通常使用的东西.

 

Time.now

DateTime.now

会在系统的时间,这往往被设置为UTC都返回一个时间.


作者  - KurtPreston
Rank --  1

用它代替

(Date)Time.current

 

(Date)Time.now

 

铁轨延伸

Time

DateTime

对象,包括

current

属性检索Rails环境设置(默认值= UTC)时间,而不是服务器的时间(可以是任何东西).

这是至关重要的,你应该总是在UTC时间是工作在默认情况下用户输入或显示,但许多生产系统 UTC时区之间转换时除外. (如Heroku的设置为PST(GMT +8))

http://www.freeshow.net.cn/questions/19ff644f547f46b0e756424613bf95820f9c2801dd0109c34f9c760d48f9c99e/

rails时间问题