تاریخ و زمان (Date and Time)
در این بخش با «تاریخ و زمان PHP» آشنا می شویم. «تابع (Function)» تکه کدی با نام است. با تابع date() زمان را به شکل دلخواه نمایش می دهیم.
تابع date() در PHP
تابع date() یک «برچسب زمانی (Timestamp)» را قالب دهی می کند. اگر timestamp ندهی، زمان سرور استفاده می شود.
نمادهای رایج تاریخ
dروز ماه، 01 تا 31.mماه، 01 تا 12.Yسال چهاررقمی.lنام روز هفته.
می توانی بین نمادها از "/" یا "." یا "-" استفاده کنی.
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
سال کپی رایت خودکار
با date("Y") سال جاری را خودکار نشان بده.
© 2010-<?php echo date("Y"); ?>
گرفتن زمان
Hساعت 24 ساعته، 00 تا 23.hساعت 12 ساعته با صفر.iدقیقه با صفر.sثانیه با صفر.aقبل/بعدازظهر کوچک: am یا pm.
<?php
echo "The time is " . date("h:i:sa");
?>
نکته: خروجی date() بر اساس «زمان سرور (Server Time)» است.
تنظیم منطقه زمانی
اگر ساعت درست نیست، «منطقه زمانی (Timezone)» را ست کن.
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
ساخت تاریخ با mktime()
تابع mktime() یک timestamp می سازد. سپس با date() آن را نمایش بده.
<?php
$d = mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
ساخت تاریخ از رشته با strtotime()
strtotime() رشته خوانا را به timestamp تبدیل می کند. مثل دریافت پیامک و تنظیم آلارم!
<?php
$d = strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
نمونه های نسبی با strtotime()
<?php
$d = strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d = strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d = strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
نکته: strtotime() همیشه عالی نیست. رشته ها را دقیق بررسی کن.
مثال های بیشتر تاریخ
شش شنبه بعدی تا شش هفته آینده را چاپ کن.
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate) . "<br>";
$startdate = strtotime("+1 week", $startdate);
}
?>
اختلاف روز تا «چهارم جولای» را حساب کن.
<?php
$d1 = strtotime("July 04");
$d2 = ceil(($d1 - time()) / 60 / 60 / 24);
echo "There are " . $d2 . " days until 4th of July.";
?>
لینک های مرتبط داخلی
فرم کامل PHP را ببین. همچنین درباره include در PHP مطالعه کن. برای مرور دوباره، تاریخ و زمان PHP را نشانه گذاری کن.
گام های سریع تمرین
- یک فایل PHP بساز و
date()را چاپ کن. - timezone دلخواه را با
date_default_timezone_set()تنظیم کن. - با
mktime()وstrtotime()تاریخ های مختلف بساز.
جمع بندی سریع
- date() زمان سرور را قالب می دهد.
- timezone درست را ست کن.
- mktime() برای ساخت timestamp دستی است.
- strtotime() رشته تاریخ را تبدیل می کند.