PHP:تاریخ و زمان در PHP

از ویکی کد
پرش به ناوبری پرش به جستجو
میانبر:
الگو:اصلاح جدول


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

تابع Date() در PHP

تابع date() در PHP یک واحد زمانی (به انگلیسی: timestamp) را به یک تاریخ و زمان خواناتر تبدیل می‌کند.

شیوه نوشتار


date(format,timestamp)
پارامتر توضیحات
Format اجباری است. فرمت واحد زمانی (timestamp) را مشخص می‌کند.
Timestamp اختیاری است. واحد زمانی (timestamp) را مشخص می‌کند. واحد زمانی پیشفرض تاریخ و زمان است.


دریافت یک تاریخ

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

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

  • حرف d - نشان دهنده روز ماه (۰۱ تا ۳۱) است.
  • حرف m - نشان دهنده یک ماه (۰۱ تا ۱۲) است.
  • حرف Y - نشان دهنده یک سال (در چهار رقم) است.
  • حرف l (حرف کوچک L) - روز هفته را مشخص می‌کند.

باقی کاراکترها، همانند /، . یا - را همچنین می‌توان بین کاراکترهای فوق قرار داد تا قالب بندی‌های جدیدی ایجاد شوند.

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

مثال

1 <?php
2 echo "Today is " . date("Y/m/d") . "<br>";
3 echo "Today is " . date("Y.m.d") . "<br>";
4 echo "Today is " . date("Y-m-d") . "<br>";
5 echo "Today is " . date("l");
6 ?>

توصیه PHP - بروزرسانی خودکار سال کپی‌رایت سایت

از تابع date() برای بروز رسانی خودکار سال کپی‌رایت وب‌سایت خود استفاده کنید:

مثال

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

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

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

  • حرف H - فرمت ۲۴ ساعته یک ساعت (۰۰ تا ۲۳)
  • حرف h - فرمت ۱۲ ساعته یک ساعت با در نظر گرفتن صفرها (۰۱ تا ۱۲)
  • حرف i - نشان دهنده دقیقه با در نظر گرفتن صفرها (۰۰ تا ۵۹)
  • حرف s - نشان دهنده ثانیه با در نظر گرفتن صفرها (۰۰ تا ۵۹)
  • حرف A - نشان دهنده حرف کوچک قبل از ظهر و بعد از ظهر (am یا pm)

مثال زیر زمان جاری را در یک قالب به خصوص در خروجی چاپ می‌کند:

مثال

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


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

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

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

مثال زیر منطقه زمانی را روی "America/New_York" تنظیم می‌کند، سپس زمان جاری را در یک قالب به خصوص در خروجی چاپ می‌کند:

مثال

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

ساخت یک تاریخ با تابع mktime()

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

تابع mktime() واحد زمانی Unix را برای یک تاریخ برمی‌گرداند. واحد زمانی Unix شامل تعداد ثانیه‌های موجود بین مبدأ Unix (ژانویه ۱ ۱۹۷۰ ۰۰:۰۰:۰۰ GMT) و زمان مشخص شده‌است.

شیوه نوشتار

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

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

مثال

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

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

تابع strtotime() برای تبدیل یک تاریخ متنی خوانا برای انسان به واحد زمانی Unix (تعداد ثانیه‌های بین ژانویه ۱ ۱۹۷۰ ۰۰:۰۰:۰۰ GMT) استفاده می‌شود.

شیوه نوشتار

strtotime(time, now)

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

مثال

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

PHP بسیار در تبدیل یک رشته متنی به یک تاریخ باهوش است، بنابراین شما می‌توانید تاریخ را به صورت مقادیر گوناگون قرار دهید:

مثال

 1 <?php
 2 $d=strtotime("tomorrow");
 3 echo date("Y-m-d h:i:sa", $d) . "<br>";
 4 
 5 $d=strtotime("next Saturday");
 6 echo date("Y-m-d h:i:sa", $d) . "<br>";
 7 
 8 $d=strtotime("+3 Months");
 9 echo date("Y-m-d h:i:sa", $d) . "<br>";
10 ?>

اما، تابع strtotime() خوب نیست، بنابراین به یاد داشته باشید که رشته متنی‌ای را که به این تابع پاس می‌دهید را بررسی کنید.

مثال‌های بیشتر تاریخ

مثال زیر تاریخ شش شنبه آینده را در خروجی چاپ می‌کند:

مثال

1 <?php
2 $startdate = strtotime("Saturday");
3 $enddate = strtotime("+6 weeks", $startdate);
4 
5 while ($startdate < $enddate) {
6   echo date("M d", $startdate) . "<br>";
7   $startdate = strtotime("+1 week", $startdate);
8 }
9 ?>

این مثال شماره روزها را تا ۴ جولای در خروجی چاپ می‌کند:

مثال

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

مرجع کامل تاریخ در PHP

برای یک مرجع کامل متشکل از تمامی توابع تاریخ، به مرجع کامل تاریخ ما مراجعه کنید.

مرجع شامل توضیحاتی خلاصه، و مثال‌هایی از نحوه استفاده، برای هر تابع است.

تمرینات PHP

Time2wait.svg ساخت نمونه مثال این بخش در دست اقدام است.

منابع آموزشی