آموزش PHP : تاریخ و زمان

0

آموزش PHP 7

برای نمایش و استفاده از زمان و تاریخ با فرمت دلخواه در PHP از تابع date() استفاده میکنیم. این تابع یک timestamp را به تاریخ و زمانی خوانا تر و قابل درک تر تبدیل میکند.

سینتکس تابع date()

سینتکس این تابع به شکل زیر است :

date(format,timestamp)

در اینجا پارامتر format الزامی بوده و مشخص کننده فرمت تایم استمپ مورد نظر ماست. همچنین ارائه مقدار timestamp اختیاری بوده و در صورت عدم ارائه این مقدار به صورت پیشفرض از تاریخ و زمان فعلی استفاده خواهد شد.

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

دریافت تاریخ در PHP

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

  • d – نشانگر روز ماه است (01 تا 31)
  • m – نشانگر ماه است (01 تا 12)
  • Y – نشانگر سال است (چهارقمی)
  • l (حرف ‘L’ کوچک) – روز هفته را مشخص میکند

از کارکتر های دیگر مثل “/” یا “-” یا “.” میتوانید برای اعمال فرمت های اضافی دلخواه در بین کارکتر ها استفاده کنید. در نمونه کد پایین، نمایش تاریخ را به چهار شکل مختلف نشان داده ایم :

نمایش تاریخ کپی رایت به صورت اتوماتیک در PHP

از تابع date() میتوانید جهت نمایش اتوماتیک سال فعلی در کپی رایت سایتتان استفاده کنید. مثلا :

دریافت زمان در PHP

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

  • H – نمایش زمان با فرمت 24 ساعته (00 تا 23)
  • h – نمایش زمان به حالت 12 ساعته به همراه صفر اول (01 تا 12)
  • i – نمایش دقیقه به همراه صفر اول (00 تا 59)
  • s – نمایش ثانیه به همراه صفر اول (00 تا 59)
  • a – نمایش am یا pm با حروف کوچک

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

به این مسئله توجه داشته باشید که تابع date زمان / تاریخ فعلی سروری که سایتتان روی آن میزبانی میشود را بر میگرداند.

دریافت منطقه زمانی در PHP

اگر زمانی که از تابع date دریافت میکنید صحیح نیست این احتمال وجود دارد که محل میزبانی سرور شما در محلی متفاوت از منطقه زمانی محل سکونت شما باشد. در این حالت لازم است که زمان را با استفاده از منطقه زمانی صحیح، با توجه به منطقه فعلی خود اصلاح کنید. در مثال زیر پس از اعمال منطقه زمانی Asia/Tehran زمان را به نمایش گذاشته ایم :

توجه داشته باشید که در بسیاری از سرور ها، منطقه زمانی پی اچ پی توسط مدیر سرور از پیش بر اساس محل سکونت شما تنظیم شده است. (مثلا میزبان ایرانی ممکن است منطقه زمانی پی اچ پی را بر اساس موقعیت ایران / تهران تنظیم کرده باشد) در این حالت جهت نمایش زمان صحیح نیازی نیست خودتان اقدام به تنظیم منطقه زمانی کنید.

ساختن تاریخ با استفاده از تابع mktime()

همانطور که پیش تر هم اشاره کردیم، پارامتر timestamp در تابع date() یک تایم استمپ دلخواه را مشخص میکند. در صورتی که این پارامتر ارائه داده نشود، از تاریخ و زمان فعلی استفاده خوهد شد. (مانند مثال های بالا)
تابع mktime() در PHP تایم استمپ unix را به عنوان تاریخ باز میگرداند. تایم استمپ Unix حاوی تعداد ثانیه های گذشته از Unix Epoch (یکم ژانویه 1970 00:00:00 GMT) تا زمان مشخص شده است.

سینتکس mktime()

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

مثال زیر با استفاده از مقدار ساخته شده توسط تابع mktime() و با استفاده از تابع date() تاریخی را ایجاد کرده و به نمایش در می آورد :

در صورتی کنجکاوی توصیه میکنیم مقدار متغیر d را اکو کرده و نگاهی به مقدار آن بیاندازید.

ساختن تاریخ از رشته با تابع strtotime()

تابع strtotime() جهت تبدیل رشته تاریخ قابل خواندن توسط انسان به تایم استمپ یونیکس به کار میرود. (تعداد ثانیه های گذشته از یکم ژانویه 1970 00:00:00 GMT)

سینتکس

strtotime(time, now)

در مثال زیر با استفاده از تابع strtotime رشته دلخواه را تبدیل به تاریخ با فرمت مورد نظر کرده ایم :

این حالت تبدیل رشته به تاریخ، عملی کاربردی است که به شما اجازه میدهد از حالات متنوع دیگری مانند آنچه در نمونه کد های زیر درج شده نیز بهره بگیرید :

در پایان هر چند تابع strtotime تابعی قوی و کاربردی است اما همیشه توصیه میکنیم مقادیری که به آن ارائه میدهید را بررسی کرده و از پیش، از تولید تاریخ های معتبر اطمینان حاصل کنید.

چند مثال دیگر

کد زیر تاریخ 6 شنبه آینده را به نمایش میگذارد :

مثال زیر تعداد روزهای باقی مانده به 4 نوامبر را به نمایش میگذارد :

در پایان میتوانید جهت آشنایی کامل با همه توابع وابسته به تاریخ و زمان در سایت رسمی PHP روی اینجا کلیک کنید

مطالعه بخش بعدی : استفاده از Include در PHP

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.