在数据库中查询created_at值会得到以下输出:

>> kevin.created_at
=> Sun, 21 Aug 2016 07:46:26 UTC +00:00

我如何才能从这些信息中只提取年份?
我试着把kevin.created_at当作一个字符串来处理,看看我是否能得到我想要的:
>> kevin.created_at.split[3].to_i

但我得到的信息是:
NoMethodError: undefined method `split' for Sun, 21 Aug 2016 07:46:26 UTC +00:00:Time

因此我试着:
>> kevin.created_at.to_a
=> [26, 46, 7, 21, 8, 2016, 0, 234, false, "UTC"]

所以我有一个解决方案:
>> kevin.created_at.to_a[5]
=> 2016

有没有更好或更优雅的方法来查询Postgresql以获取这些信息?

最佳答案

您可以使用ruby Time类中的.year函数:

kevin.created_at.year

关于ruby-on-rails - 如何仅从created_at列中提取年份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39374696/

10-13 02:18