زمان
کلاس packages\base\date
از توابع زبان PHP استفاده میکند . با استفاده از این توابع، توابع کاربری جدید دیگری تولید شده است . متد های این کلاس برای راحتی به صورت ایستا static
نوشته شده اند .
مزیت استفاده از تابع date
زمان است که سایت به صورت چند زبانه طراحی شده و نوع تقویم در این زبان ها متفاوت است ، میتوانید بعد از تغییر زبان، نوع تقویم متناسب با آن زبان را با استفاده از تابع setCanlenderName
باگزاری کنید تا تاریخ های استفاده شده در وبسایت همگی به صورت یکجا بروز شوند .
مشخص کردن تقویم پیشفرض
برای اطلاعات بیشتر به صفحه ی تنظیمات مراجعه کنید
با افزودن تنظیم با عنوان packages.base.date
در تنظیمات ، فرم ورک به صورت خودکار تقویم پیشفرض را فراخوانی خواهد کرد . مقدار این تنظیم میتواند یکی از موارد زیر باشد .
{"calendar": "jdate"}
// or
{"calendar": "gregorian"}
زمان به صورت timestamp
با استفاده از تابع time
میتوانید زمان را به صورت timestamp دریافت کنید .
date::time();
تبدیل timestamp به تاریخ
با استفاده از تابع format
میتوانید زمان timestamp را به صورت تاریخ نشان دهید . این تابع در پارامتر اول نوع نمایش تقویم و در پارامتر دوم زمان را دریافت میکند . در صورتی که مقداری برای پارامتر دوم مشخص نشده باشد، به صورت خودکار زمان حال را تبدیل خواهد کرد .
date::format(type, time);
قواعد نشانه گزاری این تابع دقیقا برابر پارامتر های ورودی data
می باشد، که شرح آن را میتوانید در صفحه زیر مطالعه فرمایید .
http://ir2.php.net/date
تبدیل تاریخ به timestamp
با استفاده از تابع strtotime
میتوانید تاریخ را به timestamp تبدیل کنید .
بیشترین استفاده از این تابع زمانی است که در فرم یک تاریخ دریافت میکند. برای بهینه سازی پایگاه داده، تاریخ را به فرم timestamp در آورده و در پایگاه داده ذخیره کنید .
مثال
// jalai calendar
echo date::time(); // 1493202918
echo date::format("Y F d"); // 1397 اردیبهشت 01
echo date::format("Y/F/d"); // 1397/اردیبهشت/01
echo date::format("Y/m/d"); // 1397/02/01
echo date::format("Y-m-d"); // 1397-02-01
echo date::format("Y-m-d", 1490610918); // 1397-01-07
echo date::strtotime("1396/04/18 22:17:37"); // 1499622457
// gregorian calendar
echo date::time(); // 1493202918
echo date::format("Y F d"); // 2018 April 21
echo date::format("Y/F/d"); // 2018/April/21
echo date::format("Y/m/d"); // 2018/04/21
echo date::format("Y-m-d"); // 2018-04-21
echo date::format("Y-m-d", 1490610918); // 2017-03-27
echo date::strtotime("2017/07/09 22:17:37"); // 1499622457