تاریخ و زمان
کار با تاریخ و زمان در PHP — تابع date، strtotime، mktime و DateTime
تابع date()
تابع date() برای نمایش تاریخ و زمان استفاده میشود:
<?php
echo date("Y/m/d"); // 2026/08/08
echo date("H:i:s"); // 14:30:00
echo date("l"); // Friday
?>
فرمتهای پرکاربرد
| کاراکتر | توضیح | مثال |
|---|---|---|
Y | سال ۴ رقمی | 2026 |
y | سال ۲ رقمی | 26 |
m | ماه (۰۱-۱۲) | 08 |
n | ماه (۱-۱۲) | 8 |
d | روز (۰۱-۳۱) | 08 |
j | روز (۱-۳۱) | 8 |
H | ساعت ۲۴ ساعته | 14 |
h | ساعت ۱۲ ساعته | 02 |
i | دقیقه | 30 |
s | ثانیه | 45 |
l | نام روز | Friday |
F | نام ماه | August |
a | AM/PM | pm |
منطقه زمانی
<?php
date_default_timezone_set("Asia/Tehran");
echo date("Y/m/d H:i:s"); // زمان تهران
?>
تابع time()
تعداد ثانیهها از ۱ ژانویه ۱۹۷۰ (Unix Timestamp):
<?php
echo time(); // مثلاً: 1723123456
?>
تابع strtotime()
تبدیل متن تاریخ به timestamp:
<?php
$nextWeek = strtotime("+1 week");
echo date("Y/m/d", $nextWeek);
$tomorrow = strtotime("tomorrow");
echo date("Y/m/d", $tomorrow);
$christmas = strtotime("2026-12-25");
echo date("Y/m/d", $christmas);
?>
کلاس DateTime
روش شیءگرایی برای کار با تاریخ:
<?php
$date = new DateTime();
echo $date->format("Y/m/d H:i:s");
// اضافه کردن زمان
$date->add(new DateInterval("P1M")); // یک ماه
echo $date->format("Y/m/d");
?>
محاسبه اختلاف تاریخ
<?php
$date1 = new DateTime("2026-01-01");
$date2 = new DateTime("2026-12-31");
$diff = $date1->diff($date2);
echo $diff->days; // 364
?>
این مبحث بخشی از دوره آموزش کامل PHP است.