با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته به آموزش آرایه های چند بعدی در php 7 پرداختیم و آموختیم که برای ذخیره کردن value (ارزش) ها در بیش از یک کلید؛ باید از آرایه های چند بعدی استفاده نمود. در ادامه آموزش تاریخ و زمان در php 7 را به علاقمندان این دوره ارائه می نماییم.
در php تابع ()date برای قالب بندی یک تاریخ و یا یک زمان استفاده می شود.
تابع ()date در php اقدام به تبدیل timestamp را به یک تاریخ و زمان قابل خواندن می کند.
1 | date(format,timestamp) |
پارامتر | توضیحات |
format | (اجباری) فرمت timestamp را مشخص می نماید. |
timestamp | (اختیاری) یک timestamp را مشخص می کند. به صورت پیش فرض بر روی تاریخ و زمان فعلی تنظیم شده است. |
یک timestamp یک دنباله ای از کاراکترهاست که تاریخ/زمان رویداد خاصی را نشان می دهد.
پارامتر ضروری format در تابع ()date در واقع مشخص می کند که فرمت تاریخ (یا زمان را) چگونه باشد.
در ادامه تعدادی از کاراکترها را که معمولاً برای تاریخ استفاده می شوند معرفی شده اند.
سایر کاراکترها نظیر : “/” و “, “و “or” می تواندد بین سایر کاراکترها به کار روند تا قالب های بیشتری را اضافه نمایند.
مثال زیر تاریخ امروز را در سه روش مختلف قالب بندی می کند:
1 2 3 4 5 6 | <?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 برای به روز رسانی خودکار کپی رایت سالانه در سایتتان استفاده نمایید.
1 | © 2010-<?php echo date("Y");?> |
در ادامه تعدادی از کاراکترها را که معمولاً برای زمان استفاده می شوند معرفی شده اند.
مثال زیر زمان فعلی را در فرمت مشخص شده نمایش می دهد:
1 2 3 | <?php echo "The time is " . date("h:i:sa"); ?> |
توجه داشته باشید که تابع ()date در php تاریخ و زمان را به سرور را باز می گرداند!
اگر زمانی که از کد برمی گردید صحیح نیست به این خاطر است که منطقه زمان خود را درست تعیین نکرده اید.
به عبارت دیگر سرور شما در یک کشور دیگر قرار دارد یا برای منطقه زمانی دیگری تنظیم شده است.
اگر می خواهید یک زمان خاص را برای یک مکان خاص تنظیم کنید؛ باید منطقه زمانی خود را تنظیم نمایید.
مثال زیر منطقه زمانی را به “America / New_York” تنظیم می کند، سپس زمان فعلی را در فرمت مشخص شده نمایش می دهد:
1 2 3 4 | <?php date_default_timezone_set("America/New_York"); echo "The time is " . date("h:i:sa"); ?> |
پارامتر اختیاری timestamp در تابع ()date یک timestamp را تعیین می نماید.
اگر timestamp را تعیین نکرده اید، تاریخ و زمان فعلی شما مورد استفاده قرار خواهد گرفت (همانطور که در مثال بالا نشان داده شده است).
تابع ()mktime به بازگردانی Unix timestamp برای یک تاریخ می پردازد.
Unix timestamp حاوی تعداد ثانیه بین دوره یونیکس (ژانویه ی ۱۹۷۰ ۱۹۷۰ ۰۰:۰۰:۰۰ GMT) و زمان مشخص شده است.
1 | mktime(hour,minute,second,month,day,year) |
مثال زیر یک تاریخ و زمان را از تعدادی از پارامترها در تابع ()mktime ایجاد می کند:
1 2 3 4 | <?php $d=strtotime("10:30pm April 15 2014"); echo "Created date is " . date("Y-m-d h:i:sa", $d); ?> |
تابع ()strtotime برای این استفاده می شود که یک رشته قابل خواندن برای انسان را تبدیل به یک Unix time کند.
1 | strtotime(time,now) |
مثال زیر یک تاریخ و زمان را با استفاده از تابع ()strtotime ایجاد می کند:
1 2 3 4 | <?php $d=strtotime("10:30pm April 15 2014"); echo "Created date is " . date("Y-m-d h:i:sa", $d); ?> |
php در مورد تبدیل یک رشته به یک تاریخ کاملا هوشمندانه عمل می کند.
بنابراین می توانید آن را در مقادیر مختلف قرار دهید:
1 2 3 4 5 6 7 8 9 10 | <?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 7 سعی می کنیم با ارائه مثال های بیشتر این مبحث را با عمق بیشتری بیاموزیم.
مثال زیر داده ها را برای شش شنبه ارائه می دهد:
1 2 3 4 5 6 7 8 9 | <?php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks", $startdate); while ($startdate < $enddate) { echo date("M d", $startdate) . "<br>"; $startdate = strtotime("+1 week", $startdate); } ?> |
مثال زیر شماره های روز تا ۴ ژوئیه را نمایش می دهد:
1 2 3 4 5 | <?php $d1=strtotime("July 04"); $d2=ceil(($d1-time())/60/60/24); echo "There are " . $d2 ." days until 4th of July."; ?> |
در این جلسه با آموزش تاریخ و زمان در php 7 همراه شما بودیم.
در جلسه بعدی شما را به آموزش کار یا دستور include در php 7 دعوت می نماییم.
با پی وی لرن همراه باشید.