首页 > 代码库 > rails时间问题
rails时间问题
问题
这两个我应该用我的Rails应用程序:
DateTime.now or Time.now
有没有在应用程序中使用这两种有什么害处?
哪有永远是如果以上(
now
)为例,两者之间的差异? (在我的当前系统,他们都显示相同的时间)
答案
在谈到
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都返回一个时间.
用它代替
(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时间问题