Files
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

38 lines
946 B
PHP

<?php
namespace App\Services\Geral;
use DateTime;
class AgeService
{
public static function getFormattedAge(DateTime $dateOfBirth, DateTime $dateToCalc = null)
{
$age = AgeService::getAge($dateOfBirth, $dateToCalc);
$yearsText = $age->years > 1 ? 'anos' : 'ano';
$monthsText = $age->months > 1 ? 'meses' : 'mês';
$daysText = $age->days > 1 ? 'dias' : 'dia';
return "{$age->years} {$yearsText} e "
. "{$age->months} {$monthsText} e "
. "{$age->days} {$daysText}";
}
public static function getAge(DateTime $dateOfBirth, DateTime $dateToCalc = null)
{
if (is_null($dateToCalc)) {
$dateToCalc = new DateTime('today');
}
$interval = $dateOfBirth->diff($dateToCalc);
return (object) [
'years' => $interval->y,
'months' => $interval->m,
'days' => $interval->d
];
}
}