rails时间问题

本文探讨了在Ruby on Rails应用中使用Time.now与DateTime.now的不同之处,解释了两者在时间精度上的差异,以及如何根据应用程序的需求选择合适的类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题
DateTime.now或Time.now?

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

DateTime.now or Time.now

 

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

哪有永远是如果以上(

now

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



 
答案
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"

 


Rank --  2

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

Time.zone.now

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

 

Time.now

DateTime.now

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


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/

转载于:https://www.cnblogs.com/qinyan20/p/4016468.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值