Ruby on rails 从生日日期获取年龄-Ruby on rails

Ruby on rails 从生日日期获取年龄-Ruby on rails,ruby-on-rails,Ruby On Rails,我有一份名单,我必须按出生日期对这些人进行分类,只按月份,不考虑年份。从一月到十二月。我用ruby怎么做​​在轨道上 同样,我需要能够在编辑屏幕上看到每个人的年龄(以年为单位),而不是显示日/月/年。如果您使用Postgres dob = "01-01-2020" def age(dob) (Time.now.to_s(:number).to_i - dob.to_time.to_s(:number).to_i)/10e9.to_i end

我有一份名单,我必须按出生日期对这些人进行分类,只按月份,不考虑年份。从一月到十二月。我用ruby怎么做​​在轨道上


同样,我需要能够在编辑屏幕上看到每个人的年龄(以年为单位),而不是显示日/月/年。

如果您使用Postgres

    dob = "01-01-2020"
    def age(dob)
      (Time.now.to_s(:number).to_i - dob.to_time.to_s(:number).to_i)/10e9.to_i
    end
您可以使用创建可排序字段:

@people = Person.select('extract("MONTH" from dob) as birth_month').order(birth_month: :asc)
其中,“Person”是假定的表名,“dob”是假定的列


这是未经测试的,您可能需要在其中强制转换::date或其他内容。尽管如此,请查看。

如果我只想按月订购,请使用您的出生日期,而不考虑年份。我的意思是,它是按月份分组的,2020年1月、2021年1月、2020年2月,等等。感谢现在我使用sqlite,在这个数据库中它更复杂吗?这实际上在另一个堆栈问题中得到了回答: