تقویم و اعداد فارسی در دل PHP
تقویم و اعداد فارسی در دل PHP

در PHP از ورژن ۵٫۳ به بعد با استفاده از ICU ، تقویم فارسی را پشتیبانی می کند.

در مرحله اول باید دید که extension مربوط به internationalization فعال است یا نه.

برای این کار این دستور زیر را اجرا کنید:

get_loaded_extensions();

لیست تمام extension ها را به صورت یک آرایه بر می گرداند؛ intl مربوط به extension مورد نظر ماست!

اگر موفق به پیدا کردن intl نشدید، باید فایل php.ini را ویرایش و کامنت خط زیر را بر دارید:

extension=php_intl.dll

اگر از XAMPP استفاده می کنید دقت کنید که آدرس فولدر PHP موجود در XAMPP را در PATH سیستم قرار دهید.

سرور را ریستارت کرده؛ بعد از فعال سازی این extension حال می توانید از کلاس IntlDateFormatter استفاده کنید.

به عنوان مثال :

$date_format='EEEE، d MMMM Y';

$fmt = new IntlDateFormatter("fa_IR@calendar=persian", IntlDateFormatter::FULL, IntlDateFormatter::FULL,

"Asia/Tehran", IntlDateFormatter::TRADITIONAL,$date_format);

echo $fmt->format(intval(time()));

تاریخ امروز را به صورت زیر نمایش می دهد:

سه‌شنبه، ۱۲ شهریور ۱۳۹۲

اعداد فارسی:

با استفاده از کلاس NumberFormatter که از همان intl استفاده می کند، می توانید این کار را انجام دهید.

کد زیر عدد ۱۳۳۷ را با اعداد فارسی چاپ می کند.

$persianNumberFormatter=new NumberFormatter("fa_IR",NumberFormatter::IGNORE);

echo $persianNumberFormatter->format(1337);

 

یکی از مقادیر جالبی که آرگمان style$ می گیرد، NumberFormatter::SPELLOUT  هست. اگر آرگمان دوم را در کد بالا با این عوض کنید خروجی به صورت زیر خواهد شد:

یک هزار و سیصد و سی و هفت

دیدگاه‌ خود را بیان کنید

اشتراک در
اطلاع از
guest

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید0
There are no products in the cart!