为什么Ruby Time.at()在Heroku中只返回2000年1月1日?
我在Heroku上运行了一个小小的Sinatra应用程序,它有一个方法,可以接收帖子并创建一个包含帖子参数的数据库对象 其中一个参数是格式为1432565475.000007的时间戳。我想在数据库中将其作为日期和时间,因此我添加了一列,然后在处理帖子的方法中:为什么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并手动尝试上面的代码行,它将正确转换。只有当它在我的服
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,它很有效。谢谢