ruby on rails - 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。

相关内容

  • 没有找到相关文章

最新更新