📅 إتقان التعامل مع التاريخ والوقت في PHP

في هذا الدرس، سنتعرف على واحدة من أكثر المهام شيوعاً في أي موقع إلكتروني، وهي كيفية عرض التاريخ والوقت.

سواء كنت تريد عرض تاريخ نشر مقال، أو تسجيل وقت تسجيل مستخدم، أو حتى بناء ساعة رقمية بسيطة، فإن لغة PHP توفر لك أدوات سهلة جداً للقيام بذلك.


🕒 ما هي دالة date()؟

في PHP، نستخدم دالة سحرية تسمى date(). هذه الدالة وظيفتها ببساطة هي تحويل "وقت النظام" (الذي يكون عبارة عن أرقام طويلة غير مفهومة للبشر) إلى صيغة نصية جميلة ومفهومة.

الصيغة العامة للدالة:

date(format);

حيث أن format هو "القالب" أو "الشكل" الذي تريد أن يظهر به التاريخ.


🛠️ تعلم رموز التنسيق (Format Characters)

لكي تخبر PHP كيف تريد عرض التاريخ، نستخدم حروفاً معينة (رموز). إليك أهم الرموز التي ستحتاجها كمبتدئ:

1. للتعامل مع اليوم (Day):

  • d: يعرض اليوم من الشهر برقمين (من 01 إلى 31).
  • j: يعرض اليوم من الشهر بدون أصفار (من 1 إلى 31).
  • l (حرف L صغير): يعرض اسم اليوم كاملاً (مثل Sunday, Monday).

2. للتعامل مع الشهر (Month):

  • m: يعرض رقم الشهر (من 01 إلى 12).
  • n: يعرض رقم الشهر بدون أصفار (من 1 إلى 12).
  • F: يعرض اسم الشهر كاملاً (مثل January, February).
  • M: يعرض اختصار اسم الشهر (مثل Jan, Feb).

3. للتعامل مع السنة (Year):

  • Y: يعرض السنة كاملة بأربعة أرقام (مثل 2023).
  • y: يعرض آخر رقمين من السنة (مثل 23).

4. للتعامل مع الوقت (Time):

  • H: يعرض الساعة بنظام 24 ساعة (من 00 إلى 23).
  • h: يعرض الساعة بنظام 12 ساعة (من 01 إلى 12).
  • i: يعرض الدقائق (من 00 إلى 59).
  • s: يعرض الثواني (من 00 إلى 59).
  • a: يعرض كلمة (am أو pm) بناءً على الوقت.

💻 أمثلة تطبيقية بسيطة

دعنا نطبق ما تعلمناه من خلال أمثلة برمجية واضحة.

مثال 1: عرض التاريخ الحالي بشكل بسيط في هذا المثال، سنقوم بعرض التاريخ بصيغة (سنة-شهر-يوم).

<?php
// Display date as Year-Month-Day
echo date("Y-m-d"); 
// Output: 2023-10-25 (Example)
?>

مثال 2: عرض التاريخ مع اسم اليوم والشهر هنا سنستخدم الرموز لجعل التاريخ يبدو أكثر احترافية.

<?php
// Display date as: Wednesday, October 25, 2023
echo date("l, F j, Y"); 
// Output: Wednesday, October 25, 2023
?>

مثال 3: عرض الوقت الحالي سنقوم الآن بعرض الساعة والدقيقة والثانية.

<?php
// Display time as Hour:Minute:Second am/pm
echo date("h:i:s a"); 
// Output: 02:30:45 pm (Example)
?>

💡 ملاحظات هامة للمبتدئين

  1. الرموز حساسة لحالة الأحرف: لاحظ أن Y (كبيرة) تعطي السنة كاملة 2023، بينما y (صغيرة) تعطي 23. لذا كن حذراً جداً عند الكتابة. ⚠️
  2. الفواصل: يمكنك وضع أي رمز أو علامة بين حروف التنسيق (مثل الشرطة - أو السلاش / أو المسافة)، وستظهر كما هي في النتيجة النهائية.
  3. توقيت السيرفر: دالة date() تعتمد على الوقت الموجود في السيرفر الذي يستضيف الموقع، وليس وقت جهاز المستخدم الذي يتصفح الموقع.