Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Ruby Time.at()在Heroku中只返回2000年1月1日?_Ruby_Heroku_Timestamp - Fatal编程技术网

为什么Ruby Time.at()在Heroku中只返回2000年1月1日?

为什么Ruby Time.at()在Heroku中只返回2000年1月1日?,ruby,heroku,timestamp,Ruby,Heroku,Timestamp,我在Heroku上运行了一个小小的Sinatra应用程序,它有一个方法,可以接收帖子并创建一个包含帖子参数的数据库对象 其中一个参数是格式为1432565475.000007的时间戳。我想在数据库中将其作为日期和时间,因此我添加了一列,然后在处理帖子的方法中: e.time = Time.at params["timestamp"].to_f 时间是正确的,但日期都是2000年1月1日 如果我在heroku运行irb heroku运行irb并手动尝试上面的代码行,它将正确转换。只有当它在我的服

我在Heroku上运行了一个小小的Sinatra应用程序,它有一个方法,可以接收帖子并创建一个包含帖子参数的数据库对象

其中一个参数是格式为1432565475.000007的时间戳。我想在数据库中将其作为日期和时间,因此我添加了一列,然后在处理帖子的方法中:

e.time = Time.at params["timestamp"].to_f
时间是正确的,但日期都是2000年1月1日

如果我在heroku运行irb heroku运行irb并手动尝试上面的代码行,它将正确转换。只有当它在我的服务器实例中运行时,它才会错误地解释日历日期

然后我创建了一个视图,它只是在数据库中迭代,将我在列中的原始时间戳转换为日期。其想法是,这更接近于处理POST的代码:

-MyEvent.all.each do |me|
    %p
        =Time.at me.timestamp.to_i
这是完美的


有什么想法吗?

关于添加的列的字段类型是什么?我认为当您试图在DB中保存日期时,由于某种原因,它没有被保存,并将默认日期保存在column.Gah…就是这样。是的,我的专栏是time而不是datetime。我刚刚测试了datetime,它很有效。谢谢