الطوابع الزمنية لـ Unix وdate()
احصلوا على الوقت الحالي في صورة طابع زمني لـ Unix ونسّقوه باستخدام date()
الطوابع الزمنية لـ Unix وdate() درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
الوقت في PHP
تمثّل PHP الوقت على هيئة طابع زمني Unix — وهو عدد الثواني منذ 1 يناير 1970، الساعة 00:00:00 بالتوقيت العالمي المنسق UTC (حقبة Unix). الدوال الأساسية:
time()— الطابع الزمني الحالي لـ Unixdate($format, $timestamp)— تنسيق طابع زمنيmktime()— إنشاء طابع زمني من أجزاء التاريخ
time()
احصل على طابع Unix الزمني الحالي:
<?php
$now = time();
echo $now; // e.g. 1716800000
echo gettype($now); // integer
// 1 day in seconds
$tomorrow = time() + 86400;
$yesterday = time() - 86400;
echo date('Y-m-d', $tomorrow); // tomorrow's dateمحارف تنسيق date()
محارف التنسيق الشائعة لـ date():
Y— السنة من 4 أرقام: 2024m— الشهر بصفر بادئ: 01–12d— اليوم بصفر بادئ: 01–31H— الساعة بنظام 24 ساعة وبصفر بادئi— الدقائق بصفر بادئs— الثوانيD— اسم اليوم المختصر: MonN— يوم الأسبوع وفق ISO: 1=Mon، 7=Sun
تنسيق التواريخ
استخدم date() لتنسيق الطوابع الزمنية:
<?php
$ts = time();
echo date('Y-m-d', $ts); // 2024-05-27
echo date('d/m/Y', $ts); // 27/05/2024
echo date('D, d M Y H:i:s', $ts); // Mon, 27 May 2024 14:30:00
echo date('c', $ts); // ISO 8601: 2024-05-27T14:30:00+00:00
echo date('U', $ts); // Unix timestamp (same as time())mktime()
أنشئ طابعًا زمنيًا من مكوّنات تاريخ ووقت محددة:
<?php
// mktime(hour, min, sec, month, day, year)
$ts = mktime(0, 0, 0, 12, 25, 2024); // Christmas 2024 midnight
echo date('Y-m-d', $ts); // 2024-12-25
// Last day of month trick:
$lastDay = mktime(0, 0, 0, 3, 0, 2024); // day 0 = last day of Feb
echo date('Y-m-d', $lastDay); // 2024-02-29 (leap year)strtotime()
تحوّل strtotime() سلسلة تاريخ مقروءة بشريًا إلى طابع زمني:
<?php
echo strtotime('2024-12-25'); // timestamp
echo strtotime('next Monday'); // next Monday's timestamp
echo strtotime('+1 week'); // 7 days from now
echo strtotime('last day of this month'); // end of month
echo strtotime('2024-01-01 +3 months'); // April 1, 2024الحساب على التواريخ باستخدام strtotime
احسب التواريخ النسبية باستخدام تعبيرات strtotime النسبية:
<?php
$subscriptionStart = strtotime('2024-01-15');
$oneYearLater = strtotime('+1 year', $subscriptionStart);
$trialEnd = strtotime('+14 days');
echo date('Y-m-d', $oneYearLater); // 2025-01-15
echo date('Y-m-d', $trialEnd); // 14 days from today
// Days until event:
$event = strtotime('2024-12-31');
$daysLeft = (int) (($event - time()) / 86400);
echo "Days until NYE: $daysLeft";الطوابع الزمنية وقواعد البيانات
خزّن التواريخ في قاعدة البيانات كسلاسل ISO أو كطوابع زمنية لـ Unix:
<?php
// Store as ISO string (recommended for readability):
$created_at = date('Y-m-d H:i:s'); // '2024-05-27 14:30:00'
// Store as Unix timestamp (fast integer comparison):
$created_ts = time(); // 1716800000
// Convert back:
$ts = strtotime($created_at);
$fmt = date('Y-m-d H:i:s', $created_ts);date_create و date_format
بدائل كائنية التوجه لـ date() و strtotime():
<?php
$dt = date_create('2024-05-27');
echo date_format($dt, 'D, d M Y'); // Mon, 27 May 2024
date_modify($dt, '+30 days');
echo date_format($dt, 'Y-m-d'); // 2024-06-26
// Equivalent OO:
$dt2 = new DateTime('2024-05-27');
$dt2->modify('+30 days');
echo $dt2->format('Y-m-d');checkdate()
تحقّق مما إذا كان التاريخ حقيقيًا باستخدام checkdate():
<?php
var_dump(checkdate(2, 29, 2024)); // true (leap year)
var_dump(checkdate(2, 29, 2023)); // false (not leap year)
var_dump(checkdate(13, 1, 2024)); // false (no month 13)
var_dump(checkdate(1, 31, 2024)); // trueMicrotime لقياس الأداء
استخدم microtime(true) لقياس وقت التنفيذ بدقة أقل من ثانية:
<?php
$start = microtime(true);
// Simulate work
for ($i = 0; $i < 100000; $i++) {}
$end = microtime(true);
$duration = ($end - $start) * 1000; // milliseconds
echo sprintf('Took %.2f ms', $duration);تحقق سريع
ماذا تُرجع دالة PHP المسماة time()؟
مراجعة: طوابع Unix الزمنية و date()
النقاط الأساسية:
time()— الطابع الزمني الحالي لـ Unixdate($format, $ts)— تنسيق أي طابع زمنيmktime()— إنشاء طابع زمني من أجزاء التاريخstrtotime()— تحليل التواريخ المقروءة بشريًا- استخدم تنسيق ISO 8601 لتخزين البيانات في قاعدة البيانات
- استخدم
microtime(true)لقياس الوقت بدقة عالية
الأسئلة الشائعة
هل درس «الطوابع الزمنية لـ Unix وdate()» مجاني؟
نعم — نص درس «الطوابع الزمنية لـ Unix وdate()» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «الطوابع الزمنية لـ Unix وdate()»؟
احصلوا على الوقت الحالي في صورة طابع زمني لـ Unix ونسّقوه باستخدام date() تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «الطوابع الزمنية لـ Unix وdate()»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الطوابع الزمنية لـ Unix وdate()
- الفئة DateTime
- حساب التواريخ باستخدام DateInterval
- المناطق الزمنية في PHP