生成迁移时间戳的最佳方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成迁移时间戳的最佳方法相关的知识,希望对你有一定的参考价值。

我正在尝试生成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直接或谷歌)“如何创建像Rails迁移文件名这样的时间戳?”它不会引导你到这里来。但是,如果你开始输入那个作为你的问题标题,那么,它将仁慈地表达这个答案

所以,我没有问过一个关于如何使用Ruby创建一个世代日期时间的高度重复的问题,而是用关键字填充了这个答案,这些关键字有望被搜索算法选中,并为像我这样的未来问题回答这个问题。

另一答案

我做了同样的事情。我认为Rails的时间戳是最好的。 Rails有一个连接数据库的驱动程序,因此Rails将处理程序员的时间格式。程序员更改数据库时,程序员不必担心时间格式。

因此,我删除了由remove_column生成的timestamp列,并使用Rails提供的时间戳。 enter link description here

以上是关于生成迁移时间戳的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

将三个具有唯一时间戳的数据库表匹配的最佳方法是啥?

什么是两台机器之间时间戳的最佳 c++ chrono 函数

iOS 时间以及时间戳的各种方法

NodeJS中获取时间戳的方法及其性能对比

shell脚本每天创建带有时间戳的文件夹并推送时间戳生成的日志

C# 时间戳的生成