Date and Time

در PHP برای کار با تاریخ و زمان می‌توانیم از توابع داخلی استفاده کنیم.
این توابع امکان نمایش، تغییر، فرمت‌دهی و محاسبه تاریخ و زمان را فراهم می‌کنند.

🔹 تابع ()date

تابع ()date تاریخ و زمان را بر اساس فرمت دلخواه برمی‌گرداند.

ساختار:

date(format, timestamp);
  • format → تعیین می‌کند خروجی چه شکلی باشد (الزامی).

  • timestamp → زمان یونیکس (اختیاری). اگر داده نشود، زمان فعلی سیستم استفاده می‌شود.

🔹 مثال: نمایش تاریخ فعلی

echo date("Y/m/d") . "<br>"; echo date("Y-m-d") . "<br>"; echo date("d-m-Y");

📌 خروجی:

2025/09/06 2025-09-06 06-09-2025

🔹 مثال: نمایش زمان فعلی

echo date("h:i:sa");

📌 خروجی (مثلاً):

04:35:20pm

🔹 فرمت‌های پرکاربرد

  • d → روز (01 تا 31)

  • m → ماه عددی (01 تا 12)

  • M → ماه کوتاه (Jan تا Dec)

  • Y → سال چهار رقمی (مثلاً 2025)

  • y → سال دو رقمی (مثلاً 25)

  • h → ساعت 12 ساعته (01 تا 12)

  • H → ساعت 24 ساعته (00 تا 23)

  • i → دقیقه (00 تا 59)

  • s → ثانیه (00 تا 59)

  • a → am یا pm

🔹 تنظیم منطقه زمانی (Time Zone)

date_default_timezone_set("Asia/Tehran"); echo date("Y-m-d h:i:sa");

📌 خروجی (مثلاً):

2025-09-06 09:05:32pm

🔹 ایجاد تاریخ دلخواه با ()mktime

$d = mktime(14, 30, 0, 9, 6, 2025); echo "Created date: " . date("Y-m-d h:i:sa", $d);

📌 خروجی:

Created date: 2025-09-06 02:30:00pm

🔹 تبدیل رشته به زمان با ()strtotime

$d = strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d); $d = strtotime("next Saturday"); echo "<br>" . date("Y-m-d h:i:sa", $d); $d = strtotime("+1 week"); echo "<br>" . date("Y-m-d h:i:sa", $d);

📌 خروجی نمونه:

2025-09-07 12:00:00am 2025-09-13 12:00:00am 2025-09-13 04:40:00pm

🔹 تفاوت زمانی بین دو تاریخ

$start = strtotime("2025-09-01"); $end = strtotime("2025-09-06"); $diff = $end - $start; echo "Difference in days: " . ($diff / (60 * 60 * 24));

📌 خروجی:

Difference in days: 5

✅ خلاصه

  • ()date → نمایش تاریخ/زمان با فرمت دلخواه

  • ()mktime → ساخت تاریخ مشخص

  • ()strtotime → تبدیل متن به زمان

  • ()date_default_timezone_set → تنظیم منطقه زمانی

  • می‌توان محاسبات مختلف روی تاریخ انجام داد (روزها، هفته‌ها، ماه‌ها و ...)