PDA

View Full Version : دریافت اولین روز ماه.



metal gear solid 4
دوشنبه 09 دی 1392, 20:05 عصر
سلام

چطور میشه اولین روز از ماه فعلی رو در PHP دریافت کرد؟

در صورتی که مثالی از IntlDateFormatter هم دارید ممنون میشم مطرح کنید.

SadeghPro19
دوشنبه 09 دی 1392, 20:50 عصر
date('Y/m/1')

metal gear solid 4
دوشنبه 09 دی 1392, 20:54 عصر
این تاریخ Georgian رو برمیگردونه.
با استفاده از Timezone و Asia/Tehran هم درست بشو نیست. البته میشه با مبدل تبدیلش کرد که یکم داستان داره.
PHP 5.3 IntlDateFormatter رو معرفی کرده که Documentation خوبی نداره. کسی کار کرده؟

Tarragon
دوشنبه 09 دی 1392, 21:13 عصر
اول میلادی یا جلالی؟
اگر میلادی می خواهید بالایی هست.
اگر جلالی می خواهید از jdf (http://jdf.scr.ir/)استفاده کنید.

metal gear solid 4
دوشنبه 09 دی 1392, 21:33 عصر
ما ایرانی هستیم و طبیعتاً من هم تاریخ جلالی رو میخام. در هر حال سعی میکنم از توابع جدید PHP 5.3 استفاده کنم. کلاس ها و متدهای built-in به مراتب بهتر از کتابخونه های خارجی هستند. ممنون از پاسخگویی. در صورتی که به پاسخ رسیدم همینجا مینویسم تا بقیه هم استفاده کنند.

metal gear solid 4
دوشنبه 09 دی 1392, 23:20 عصر
خب به این روش میشه روز اول ماه شمسی رو به دست آورد. البته راه دیگه ای هم هست که فعلاً بررسیش نکردم. و به نظر رسمی تر از این میاد. به هر حال این روش من از کلاس و متدهای جدید PHP 5.3 هستش.



$fmt = new IntlDateFormatter(
"EN_US@calendar=Persian",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Asia/Tehran',
IntlDateFormatter::TRADITIONAL,
"d Y M"
);
$firstDay = $fmt->format( strtotime( '-'.(explode( " ", $fmt->format( time() ) )[0] - 1).' day' ) );
echo $firstDay;