یکی از متداول ترین مشکلاتی که در برنامه نویسی توی ایران وجود داره بحث تاریخ شمسی است.
هم در نمایش تاریخ شمسی هم در دیتپیکر شمسی datePicker
توی این بخش می خوایم یه اکستنشن خوب برای نمایش تاریخ شمسی معرفی کنیم.
در بخش های بعدی حتما دیت پیکر هم توضیح میدیم.
برای این کار ما تاریخ ها را به میلادی در دیتا بیس ذخیره میکنیم و فقط هنگام نمایش آنها را به تاریخ شمسی تبدیل میکنیم و نمایش میدیم.
برای دانلود این اکستنشن به آدرس زیر رفته و آن را دانلود کنین.
http://www.yiiframework.com/extension/jdatetime/
پس از دانلود اونو extract میکنیم و در فولدر extensions قرار میدهیم .
مرحله ی بعدی تنظیمات کانفیک سایت هست که توی فولدر config و فایل main.php قرار داره . که کد زیر را در قسمت component مینویسیم.
کد زیر
'jdate' => array(
'class' => 'ext.jdate.JDateTime',
'convert' => true,
'jalali' => true,
'timezone' => 'Asia/Tehran',
),
خوب برای استفاده از آن کافیه تاریخ میلادی ای که داریم را در کد زیر قرار دهیم :
Yii::app()->jdate->date("d/n/o - H:i",(int) strtotime($date))
خوب مثال زیر را ببینید تا بیشتر متوجه بشین
$now = new DateTime();
echo “تاریخ میلادی : ” . $now->format(‘Y-m-d H:i:s’);
echo “<br/>”;
echo “تاریخ شمسی : ” . Yii::app()->jdate->date(“d/n/o – H:i”, (int) strtotime($now->format(‘Y-m-d H:i:s’)));
برای آشنایی بیشتر با پارامتر های این اکستنشن به آدرس زیر بروید
http://jdf.scr.ir/rahnama/?t=jdate