Skip to main content
#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:
  1. اختلاف روز بین 2015-08-01 و 2025-10-15 محاسبه می‌شود که تقریباً ۳۷۲۷ روز است.
  2. 3727 بین 730 و 4380 قرار دارد.
  • Return: 'child'

سناریو ۲: تعیین گروه سنی یک نوزاد

  • Call: getAgeTitle('1402/11/10', '2025-10-15 14:30:00') -> (1402/11/10 معادل 2024-01-30)
  • Action:
  1. checkDatetime تاریخ شمسی را به میلادی تبدیل می‌کند.
  2. اختلاف روز بین 2024-01-30 و 2025-10-15 محاسبه می‌شود که تقریباً ۶۲۴ روز است.
  3. 624 کمتر از 730 است.
  • Return: 'infant'