جشنواره تخفیف های جمعه سیاه
مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش استفاده از تاریخ شمسی در PHP به زبان ساده

تاریخ شمسی در طراحی وب یکی از اصلی ترین فاکتورهای طراحی وب برای ایرانی ها است . برای ما ایرانی ها کار کردن با تاریخ خودمان خیلی راحت تر و بهتر از این است که با تاریخ غربی ها کار کنیم و اگر شما بخواهید یک وب سایت طراحی کنید باید تاریخی که به کاربر نمایش می دهید شمسی باشد. در این مطلب نحوه فرمت تاریخ به شمسی را در زبان PHP توضیح می دهیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

قبلا برای این که تاریخ میلادی را به شمسی تبدیل می کردیم باید یا خودمان مکانیزم تبدیل تاریخ را می نوشتیم و یا این که از کتابخانه هایی استفاده می کردیم. ولی امروزه اکثر زبان های برنامه نویسی این قابلیت را در خود دارند که از تاریخ های مختلف پشتیبانی کنند. در زبان PHP هم این قابلیت وجود دارد و فقط کافی است که شما مشخصات تقویم را تنظیم کنید  و از تاریخ به راحتی استفاده کنید.

برای یادگیری زبان برنامه نویسی پی اچ پی ، می توانید به دوره آموزش PHP در این لینک مراجعه کنید

برای این کار باید یک formatter بسازیم این formatter از کلاس IntlDateFormatter که برای تبدیل تقویم ها استفاده می شود ساخته می شود. هنگام ساخت یک شئ از این کلاس پارامترهایی وجود دارد که آنها را توضیح می دهیم. ولی قبل از آن کد آن را آورده ایم. کد ساخت formatter به شکل زیر است

$formatter = new IntlDateFormatter(
    "fa_IR@calendar=persian",
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'Asia/Tehran',
    IntlDateFormatter::TRADITIONAL,
    "yyyy-MM-dd");

ورودی های این کلاس عبارتند از:

  • locale برای مشخص کردن نوع تقویم
  • dateType برای مشخص کردن نوع تاریخ که کوتاه باشد یا طولانی یا کامل
  • timeType برای مشخص کردن نوع زمان
  •  time zone برای مشخص کردن منطقه زمانی که در کد بالا تهران تنظیم شده است
  • calendar برای مشخص کردن نوع تقویمی که برای خواندن تاریخ استفاده می شود که در حالت پیش فرض Null است.
  • pattern که فرمت تاریخ را مشخص می کند که می توان از فرمت های مختلف استفاده کرد.

برای این که تاریخ ها به صورت شمسی نمایش داده می شوند تنها کاری که از این به بعد باید کرد این است که از formatter ساخت شده استفاده کرد. به صورت کد زیر

$now=new DateTime();


echo $formatter->format($now);

خروجی کد بالا تاریخ زمان حال را به شمسی نمایش می دهد.دقت داشته باشید که می توانید هر pattern که بخواهید برای تاریخ تنظیم کنید و نام روزها و ماه ها را به درستی نمایش می دهد. برای درک فرمت تاریخ در PHP به این لینک مراجعه کنید. همچنین برای مطالعه بیشتر در مورد این کلاس و نحوه کار آن به این لینک مراجعه کنید.با وب سایت tosinso همراه باشید.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات