سالها بود برای تبدیل تاریخ میلادی به جلالی در پروژه‌ها از تابع تاریخ شمسی که توسط دوست خوبم میلاد راستیان نوشته شده بود استفاده می‌کردم و این تابع با وجود قدیمی بودنش به خوبی از پس همه کارها بر می‌آمد. تا شب پیش که درحال کار کردن روی سیستمی بودم که نیاز به محاسبی زمانی برای سالهای بسیار دور داشت (مثلا ۱۰۰ سال آینده). با کمی تست متوجه شدم که تابع date که تابع پیشفرض پی‌اچ‌پی برای تاریخ و زمان است، حداکثر تا سال ۲۰۳۸ میلادی قادر به محاسبه است. به همین دلیل تابع تاریخ شمسی قبلی که از آن استفاده می‌کردم، بخاطر اینکه بر اساس تابع date نوشته شده بود، قادر به محاسبه سال‌های بیشتر از ۱۴۱۵ شمسی نبود. بعد از اینکه مطمئن شدم این تابع قابل تصحیح نیست، تصمیم گرفتم بر اساس امکان جدیدی که در PHP5 معرفی شده بود به نام DateTime، یک کلاس تاریخ جلالی بنویسم که امکاناتی که برای پروژه خودم مد نظر بود را داشته باشد. گفتنی است که کلاس DateTime در پی‌اچ‌پی قادر است تا سال ۹۹۹۹ میلادی را محاسبه کند.

امکانات کلاس تاریخ جلالی (نسخه ۱)

  • قالب بندی زمان بر اساس تمام پارامتر های موجود در تابع date پی‌اچ‌پی
  • امکان فعال/غیرفعال کردن تبدیل تاریخ به جلالی
  • امکان فعال/غیرفعال کردن تبدیل اعداد به فارسی
  • امکان استفاده از مناطق زمانی تعریف شده در پی‌اچ‌پی، برای مثال: Asia/Tehran
  • امکان ساخت زمان از نوع Unix Timestamp یا Epoch Time
  • نوشته شده به صورت شی‌گرا. برای مشاهده راهنما و دریافت سورس کد کلاس تاریخ جلالی برای php کلیک کنید.

منتشر شده در: توسعه وب