我正在尝试按年龄范围查询猫鼬,我的模式中没有age
,但是有dob
。
我想要达到的是:
将age integer
转换为日期(以essentailly返回生日)。
这可能吗?
答案 0 :(得分:0)
知道某人的年龄只能限制我们的出生日期,例如,如果某人在2018年6月1日是30岁,则他们出生于1988年初或1987年底。 我们知道他们的最新生日是1988年6月1日。我们也知道他们最早的生日是1987年6月2日。
Moment.js为我们提供了一些不错的方法来根据时差计算日期。
例如:
var ageYears = 30;
var latestBirthdate = new moment().add(moment.duration(-ageYears, 'years')).startOf('day');
var earliestBirthdate = new moment().add(moment.duration(-(ageYears + 1), 'years')).add(moment.duration(1, 'days')).startOf('day');
var ageRange = earliestBirthdate.format("DD MMM, YYYY") + ' to ' + latestBirthdate.format("DD MMM, YYYY");
console.log(ageRange);
比较明确的是根据某人的DOB来计算其年龄。因此,我们可以在给定的时间点确定谁是超过或低于给定的阈值年龄。
我们可以使用earlyestBirthdate和latestBirthdate进行查询,并说在此范围内出生的任何人都与年龄匹配。
JSFiddle在这里: