我正在尝试为 Rails 迁移生成时间戳,作为 rake 任务的一部分,我将其从引擎复制到我的应用程序中。
以下工作正常,但由于 rails 已经做了同样的事情,我不知道是否有更好的方法来做到这一点?
Time.now.to_s.split(" ")[0..1].join(" ").gsub!(/\D/, "")
我正在尝试为 Rails 迁移生成时间戳,作为 rake 任务的一部分,我将其从引擎复制到我的应用程序中。
以下工作正常,但由于 rails 已经做了同样的事情,我不知道是否有更好的方法来做到这一点?
Time.now.to_s.split(" ")[0..1].join(" ").gsub!(/\D/, "")
@timestamp = Time.now.strftime("%Y%m%d%H%M%S")
Time.now.utc.strftime("%Y%m%d%H%M%S")
您可以使用timestamp.to_s(:number)。
还有其他格式:
:db # => "2007-12-04 00:00:00"
:number # => "20071204000000"
:short # => "04 Dec 00:00"
:long # => "December 04, 2007 00:00"
:long_ordinal # => "December 4th, 2007 00:00"
:rfc822 # => "Tue, 04 Dec 2007 00:00:00 +0000"
:iso8601 # => "2007-12-04T00:00:00+00:00"
所以这可能是我在 SO 上创建的最元的答案。接受的答案和@mambo 的答案是正确的
Time.now.utc.strftime("%Y%m%d%H%M%S")
但。
如果您搜索(SO 直接或 Google)“如何创建像 Rails 迁移文件名这样的时间戳?” 它不会把你带到这里。但是,如果你开始输入它作为你的问题标题,它会很幸运地显示这个答案
因此,我没有提出一个关于如何使用 Ruby 创建分代日期时间的高度重复的问题,而是在这个答案中添加了希望被搜索算法拾取的关键字,并为像我这样的未来提问者回答这个问题。