وباکا

آموزش تخصصی برنامه نویسی وب

تابع پی اچ پی date برای قالب بندی یک تاریخ و/یا یک زمان استفاده می شود.این تابع یک timestamp را به یک تاریخ و زمان قابل خواندن تبدیل می کند.

گرامر تابع date() بصورت زیر است:

date(format,timestamp)

این تابع دو پارامتر دارد :

پارامتر format:(اجباری) فرمت زمان نشانه را مشخص می کند.
پارامتر Timestamp : (اختیاری) یک زمان را مشخص می کند و بطور پیش فرض تاریخ و زمان فعلی است.

Timestamp یک دنباله از کاراکترهاست که نشان دهنده تاریخ و/یا زمانی است که رویدادی خاص رخ داده است.

 

چگونه یک تاریخ ساده را از سیستم دریافت کنید؟

پارامتر فرمت (اجباری) از تابع 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");
?>

یک مثال جالب – کپی رایت سالانه
از تابع date()  می توانید برای به روز رسانی خودکار سال حق نسخه برداری در وب سایت خود استفاده کنید:

&copy; 2010-<?php echo date("Y");?>

چگونه می توانید یک زمان ساده دریافت کنید؟

در زیر چند کاراکتر ویزه معرفی شده که معمولا برای زمان استفاده می شود:

h – فرمت 12 ساعته یک ساعت با صفر پیش (01 تا 12)
i- دقیقه با صفر پیش (00 تا 59)
s – ثانیه با صفر پیش (00 تا 59)
a – محدوده اندازه کوچکتر و پست meridiem (am یا pm)
مثال زیر زمان فعلی را در فرمت مشخص شده نمایش می دهد:

<?php
echo "The time is " . date("h:i:sa");
?>

توجه داشته باشید که تابع date() مقدار  date / time کامپیوتر سرور را باز می گرداند!

چگونه منطقه زمانی خود را تعیین کنید؟

اگر زمان برگست داده شده از تابع date مناسب نیست، احتمالا به این دلیل است که سرور شما در یک کشور دیگر قرار دارد یا برای یک منطقه زمانی خاص تنظیم شده است.

بنابراین، اگر شما به زمان نیاز دارید که با توجه به مکان خاصی درست باشد، می توانید یک منطقه زمانی برای استفاده از آن تنظیم کنید.

مثال زیر منطقه زمانی را به “America / New_York” تنظیم می کند، سپس زمان فعلی را در فرمت مشخص شده نمایش می دهد:

<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>

و برای دریافت زمان بر حسب منطقه زمانی ایران می توانید استفاده کنید:

<?php
date_default_timezone_set("iran/Tehran");
echo "The time is " . date("h:i:sa");
?>

ایجاد یک تاریخ با تابع mktime از پی اچ پی

پارامتر اختیاری  timestampدر تابع date() زمان را مشخص می کند. اگر یک زمان مشخص نکنید، تاریخ و زمان فعلی مورد استفاده قرار خواهد گرفت (همانطور که در مثال بالا نشان داده شده است).

تابع mktime() نشانگر زمان یونیکس را برای تاریخ نشان می دهد. زمان بندی یونیکس حاوی تعداد ثانیه بین دوره یونیکس (ژانویه ی 1970 1970 00:00:00 GMT) و زمان مشخص شده است.

گرامر:

mktime(hour,minute,second,month,day,year)

مثال زیر یک تاریخ و زمان را از روی تعدادی از پارامترها در تابع mktime () ایجاد می کند:

<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

ایجاد یک تاریخ از روی یک رشته با تابع strtotime از پی اچ پی

تابع پی اچ پی  strtotime ، برای تبدیل یک رشته قابل خواندن انسان به زمان یونیکس استفاده می شود.

strtotime(time,now)

مثال زیر یک تاریخ و زمان را با کمک تابع strtotime () ایجاد می کند:

<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

پی اچ پی در مورد تبدیل یک رشته به یک تاریخ کاملا هوشمندانه است، بنابراین شما می توانید مقادبر را بصورت متنوع استفاده کنید:

<?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);
}
?>

مثال زیر تعداد روزها تا 4 ژوئیه را نمایش می دهد:

<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب