我正在尝试生成rails迁移的时间戳,我将其作为rake任务的一部分从引擎复制到我的应用程序中。
以下工作正常,但由于rails已经做了同样的事情,我不知道是否有更好的方法来做到这一点?
Time.now.to_s.split(" ")[0..1].join(" ").gsub!(/\D/, "")
答案 0 :(得分:34)
@timestamp = Time.now.strftime("%Y%m%d%H%M%S")
答案 1 :(得分:7)
Time.now.utc.strftime("%Y%m%d%H%M%S")
答案 2 :(得分:1)
您可以使用timestamp.to_s(:number)。
还有其他格式:
if (password_verify($pass, $hash)) {
my_session_regenerate_id();
$_SESSION["authenticated"] = time();
$_SESSION["lastLogin"] = $res['lastLogin'];
$_SESSION["loggedin"] = "";
$_SESSION["registerDate"] = $res['registerDate'];
$_SESSION["name"] = $res['name'];
$_SESSION["email"] = $res['email'];
$_SESSION["type"] = $res['type'];
$_SESSION["usertoken"] = "";
header('Location: pass-change.php');
}
答案 3 :(得分:0)
所以这可能是我在SO上创建的最元的答案。接受的答案和@mambo的答案是正确的
Time.now.utc.strftime("%Y%m%d%H%M%S")
但是。
如果您(直接通过SO或Google)搜索“如何创建类似Rails迁移文件名的时间戳?”它不会把你引到这里。但是,如果您开始输入该标题作为问题标题,它将很乐意显示此答案
因此,我没有问一个关于如何使用Ruby创建世代日期时间的高度重复的问题,而是用希望由搜索算法选择的关键字来填充此答案,并为像我这样的未来提问者回答此问题。
答案 4 :(得分:-4)
我做了同样的事情。我认为Rails的时间戳是最好的。 Rails有一个连接数据库的驱动程序,因此Rails将处理程序员的时间格式。程序员更改数据库时,程序员不必担心时间格式。
因此,我删除了由remove_column生成的timestamp列,并使用Rails提供的时间戳。 enter link description here