PHP – تاریخ و زمان (Date and Time)
تابع date()
در PHP برای فرمتبندی تاریخ و/یا زمان استفاده میشود.
تابع date()
تابع date()
در PHP تایماستمپ (timestamp) را به یک تاریخ و زمان قابل خواندنتر تبدیل میکند.
سینتکس (Syntax)
date(format, timestamp)
format
(الزامی): مشخصکننده فرمت تایماستمپ.timestamp
(اختیاری): مشخصکننده تایماستمپ. پیشفرض، تاریخ و زمان کنونی است.
دریافت تاریخ
پارامتر format
در تابع date()
مشخص میکند که تاریخ (یا زمان) چگونه فرمت شود.
در اینجا برخی از کاراکترهای رایج برای تاریخها آورده شده است:
d
– نمایانگر روز ماه (01 تا 31)m
– نمایانگر ماه (01 تا 12)Y
– نمایانگر سال (در چهار رقم)l
(حرف کوچک ‘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");
?>
نکته PHP - سال خودکار کپی رایت
از تابع date()
برای بهروز کردن خودکار سال کپیرایت در وبسایت خود استفاده کنید:
مثال
© 2010-<?php echo date("Y");?>
دریافت زمان
در اینجا برخی از کاراکترهای رایج برای زمانها آورده شده است:
H
– فرمت 24 ساعته ساعت (00 تا 23)h
– فرمت 12 ساعته ساعت با صفرهای پیشرو (01 تا 12)i
– دقیقهها با صفرهای پیشرو (00 تا 59)s
– ثانیهها با صفرهای پیشرو (00 تا 59)a
– Ante meridiem و Post meridiem با حروف کوچک (am یا pm)
مثال
<?php
echo "The time is " . date("h:i:sa");
?>
توجه داشته باشید که تابع date()
زمان کنونی سرور را برمیگرداند!
دریافت منطقه زمانی
اگر زمان برگشتی از کد شما درست نیست، ممکن است به این دلیل باشد که سرور شما در کشور دیگری است یا برای منطقه زمانی دیگری تنظیم شده است.
بنابراین، اگر نیاز دارید که زمان طبق مکان خاصی صحیح باشد، میتوانید منطقه زمانی مورد نظر را تنظیم کنید.
مثال
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
ایجاد تاریخ با mktime()
پارامتر اختیاری timestamp
در تابع date()
مشخصکننده تایماستمپ است. اگر این پارامتر را نگذارید، تاریخ و زمان کنونی استفاده میشود.
تابع mktime()
تایماستمپ یونیکس (Unix timestamp) برای یک تاریخ را برمیگرداند. تایماستمپ یونیکس شامل تعداد ثانیهها بین اپک یونیکس (Unix Epoch) (1 ژانویه 1970 ساعت 00:00:00 GMT) و زمانی که مشخص کردهاید است.
سینتکس (Syntax)
mktime(hour, minute, second, month, day, year)
مثال
<?php
$d = mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
ایجاد تاریخ از یک رشته با strtotime()
تابع strtotime()
در PHP برای تبدیل یک رشته تاریخ قابل خواندن توسط انسان به یک تایماستمپ یونیکس (Unix timestamp) استفاده میشود.
سینتکس (Syntax)
strtotime(time, now)
مثال
<?php
$d = strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
PHP به طور هوشمندانهای رشتهها را به تاریخ تبدیل میکند، بنابراین میتوانید مقادیر مختلفی را وارد کنید:
مثال
<?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()
همیشه دقیق نیست، بنابراین حتماً رشتههایی که وارد میکنید را بررسی کنید.
مثالهای بیشتر از تاریخ
مثال 1 – نمایش تاریخهای شش شنبه آینده:
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate) . "<br>";
$startdate = strtotime("+1 week", $startdate);
}
?>
مثال 2 – نمایش تعداد روزهای باقیمانده تا 4 ژوئیه:
<?php
$d1 = strtotime("July 04");
$d2 = ceil(($d1 - time()) / 60 / 60 / 24);
echo "There are " . $d2 . " days until 4th of July.";
?>
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام