我刚开始使用Carbon
,我能够让程序在计算给定日期的年份。但现在我想让格式计算几个月,这是我的代码:
public function getAgeAttribute() {
return Carbon::parse($this->attributes['emp_birth_date'])->age;
}
我尝试使用代码:
->format('months');
但是出了个错误我不知道它在哪里工作。任何人都可以帮助我吗?
答案 0 :(得分:2)
没有一个内置的方法可以在几个月内获得年龄,但解决起来应该很简单:
$ageInYears = \Carbon\Carbon::parse($birthday)->age;
$ageInMonths = $ageInYears * 12;
这并不完美,因为年龄不会以小数形式返回,因此10年可能在120到131个月之间。
如果您想要更准确的内容,可以使用diffInMonths
,如下所示:
$ageInMonths = \Carbon\Carbon::now()->diffInMonths(\Carbon\Carbon::parse($birthday));
此外,->format("months");
无效,因为"months"
不是有效的PHP日期格式。此外,->format("m")
(这是正确的值)不会对->age
起作用,因为->age
会返回int
,而不是Carbon
日期
有关所有可用的PHP日期格式选项,请参阅http://php.net/manual/en/function.date.php。