#P1095
Function getAgeTitle
· هدف:
این متد یک ابزار کمکی ساده و کاربردی برای تعیین گروه سنی (adult, child, infant) یک شخص بر اساس تاریخ تولد و یک تاریخ مبنا (معمولاً تاریخ پرواز یا شروع اقامت) است. منطق آن بر اساس محاسبه اختلاف تعداد روزها بین دو تاریخ کار میکند. ابتدا تاریخ تولد را با استفاده از Functions::checkDatetime به فرمت استاندارد تبدیل کرده و سپس اختلاف آن با تاریخ مبنا را بر حسب روز محاسبه میکند. در نهایت، بر اساس قوانین استاندارد صنعت هوانوردی و گردشگری، گروه سنی را مشخص میکند: کمتر یا مساوی ۷۳۰ روز (۲ سال) به عنوان infant (نوزاد)، بین ۷۳۰ و ۴۳۸۰ روز (۲ تا ۱۲ سال) به عنوان child (کودک)، و بیشتر از ۴۳۸۰ روز (۱۲ سال) به عنوان adult (بزرگسال) در نظر گرفته میشود.
| ویژگیها | توضیحات |
| هدف کلی | تعیین گروه سنی (نوزاد، کودک، بزرگسال) بر اساس تاریخ تولد. |
| منطق اصلی | محاسبه اختلاف روز بین تاریخ تولد و تاریخ مبنا. |
| قوانین سنی | infant <= 2 سال, child > 2 و <= 12 سال, adult > 12 سال. |
| استانداردسازی ورودی | استفاده از Functions::checkDatetime برای مدیریت فرمتهای مختلف تاریخ. |
| کاربرد | ابزار کمکی داخلی برای استفاده در سایر متدهای نیازمند به گروه سنی. |
· ورودیها (پارامترها):
| توضیحات | موقعیت | نوع داده | نام پارمتر |
تاریخ تولد شخص در فرمتهای مختلف (مثلاً 1990-05-20, 1369/02/30). |
Parameter |
string |
$birth |
| تاریخ مبنا برای محاسبه سن (مثلاً تاریخ پرواز). | Parameter |
string |
$datetime |
· خروجی (Return):
| توضیحات | نوع داده |
یکی از سه رشته زیر: 'infant', 'child', 'adult'. |
string |
· مثال استفاده / سناریو:
سناریو ۱: تعیین گروه سنی یک کودک
- Call:
getAgeTitle('2015-08-01', '2025-10-15 14:30:00') - Action:
- اختلاف روز بین
2015-08-01و2025-10-15محاسبه میشود که تقریباً ۳۷۲۷ روز است. 3727بین730و4380قرار دارد.
- Return:
'child'
سناریو ۲: تعیین گروه سنی یک نوزاد
- Call:
getAgeTitle('1402/11/10', '2025-10-15 14:30:00')-> (1402/11/10 معادل 2024-01-30) - Action:
checkDatetimeتاریخ شمسی را به میلادی تبدیل میکند.- اختلاف روز بین
2024-01-30و2025-10-15محاسبه میشود که تقریباً ۶۲۴ روز است. 624کمتر از730است.
- Return:
'infant'