mktime() (mktime)
می خواهی «تاریخ» را به «یونیکس تایم» تبدیل کنی؟ تابع mktime() همین کار را انجام می دهد. یونیکس تایم (Unix timestamp) یعنی تعداد ثانیه از 1970/01/01.
تعریف و کاربرد
طبق منبع: mktime() برای یک تاریخ، عدد یونیکس تایم برمی گرداند. این تابع مثل gmmktime() است؛ اما تاریخ را محلی می گیرد، نه GMT.
سینتکس
<?php
// mktime(hour, minute, second, month, day, year, is_dst)
// همه پارامترها اختیاری اند؛ بدون ورودی استفاده نکن.
// is_dst از PHP 7.1 حذف شده است.
?>
مثال: روز هفته یک تاریخ
<?php
// خروجی: Oct 3, 1975 was on a Friday
$ts = mktime(0, 0, 0, 10, 3, 1975);
echo "Oct 3, 1975 was on a " . date("l", $ts);
?>
توضیح کوتاه
اول با mktime() زمان می سازیم. سپس با date() روز هفته را می گیریم. این ترکیب سریع و کاربردی است.
پارامترها
- hour, minute, second: ساعت، دقیقه، ثانیه.
- month, day, year: ماه، روز، سال.
- is_dst: قدیمی و حذف شده در 7.1.
هشدار: از mktime() بدون آرگومان استفاده نکن. به جایش time() را بزن.
تمرین گام به گام
- یک تاریخ دلخواه انتخاب کن.
- با
mktime()یونیکس تایم بساز. - با
date("Y-m-d H:i:s", $ts)نمایش بده.
نکته: اگر تاریخ GMT می خواهی، به صفحه تبدیل تاریخ به یونیکس برو. برای قالب بندی خروجی، قالب بندی GMT را ببین. برای اعداد ساده تاریخ، idate() مناسب است.
جزئیات فنی
- خروجی: عدد صحیح یونیکس تایم؛ خطا:
false. - نسخه PHP: 4+.
- is_dst در 5.1 منسوخ و در 7.1 حذف شد.
جمع بندی سریع
- mktime: تبدیل تاریخ به یونیکس تایم.
- تاریخ محلی است، نه GMT.
- پارامتر is_dst دیگر کاربرد ندارد.
- برای GMT از gmmktime استفاده کن.