Ruby Mongoid:如何将日期转换为年龄?
Ruby Mongoid: How to convert a date into age?
我在 Mongoid user
集合字段 dob
中有一个日期。
我想获得那些年龄在 18-30 岁之间的用户。
但我不知道如何从 Mongoid 的日期中获取年龄。
这是查询:
User.in(gender: gender_group).between(dob: 18..30)
假设用户是 30 岁,如果他还没有庆祝他的 31 岁生日,你的逻辑如下:
today = Date.today
=> Mon, 07 May 2018
aged_30 = today - 31.years + 1.day
=> Fri, 08 May 1987
aged_18 = today - 18.years
=> Sun, 07 May 2000
User.in(gender: gender_group).between(dob: aged_30..aged_18)
我在 Mongoid user
集合字段 dob
中有一个日期。
我想获得那些年龄在 18-30 岁之间的用户。
但我不知道如何从 Mongoid 的日期中获取年龄。
这是查询:
User.in(gender: gender_group).between(dob: 18..30)
假设用户是 30 岁,如果他还没有庆祝他的 31 岁生日,你的逻辑如下:
today = Date.today
=> Mon, 07 May 2018
aged_30 = today - 31.years + 1.day
=> Fri, 08 May 1987
aged_18 = today - 18.years
=> Sun, 07 May 2000
User.in(gender: gender_group).between(dob: aged_30..aged_18)