Ruby-DateTime用于数据库
我有一个语法为“0000-00-00:00:00”的数据库列。 在PHP中,我会这样做 日期(“Y-m-d H:i:s”) 在Ruby,我喜欢Ruby-DateTime用于数据库,ruby,database,datetime,date,Ruby,Database,Datetime,Date,我有一个语法为“0000-00-00:00:00”的数据库列。 在PHP中,我会这样做 日期(“Y-m-d H:i:s”) 在Ruby,我喜欢 require 'date' now = DateTime::now() puts "#{now.year()}-#{now.mon()}-#{now.mday()} #{now.hour()}:#{now.min()}:#{now.sec()}" 结果是: "2010-1-5 10:16:4" 那不好。如何创建格式为“0000-00-00:00:00
require 'date'
now = DateTime::now()
puts "#{now.year()}-#{now.mon()}-#{now.mday()} #{now.hour()}:#{now.min()}:#{now.sec()}"
结果是:
"2010-1-5 10:16:4"
那不好。如何创建格式为“0000-00-00:00:00”的“时间字符串”
非常感谢您的光临和问候由于内置的
Time
类,您可以像在PHP中一样格式化日期,请参阅文档
这将为您的案例提供:
t = Time.now
puts t.strftime("%Y-%m-%d %H:%M:%S")
稍微短一点
t = Time.now
puts t.strftime("%F %T")
=> "2015-01-06 14:01:05"
iso8601方法也很有用:
>> Time.now.utc.iso8601
=> "2015-05-08T16:45:22Z"
ActiveRecord倾向于将日期/时间存储为UTC,因此使用
UTC
将使数据更加一致
t = Time.now.utc
puts t.strftime("%F %T")
=> "2016-05-06 19:05:01"
如果您使用的是Rails/ActiveSupport,那么将是最短的方式:
Time.now.to_s(:db)
=> "2017-05-22 11:14:40"
另见