25- شرح PHP Date and Time

التعامل مع التاريخ والوقت في لغة PHP

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

الأساسيات: دالة `date()`

تُعتبر دالة `date()` من الدوال الأساسية في PHP التي تُستخدم لتنسيق التاريخ والوقت. تأخذ الدالة صيغة تنسيق وتُعيد سلسلة نصية تمثل التاريخ والوقت وفقًا لتلك الصيغة.

// الحصول على التاريخ الحالي بالتنسيق: اليوم/الشهر/السنة
echo date("d/m/Y"); // على سبيل المثال: 22/10/2023

// الحصول على الوقت الحالي بالتنسيق: ساعة:دقيقة:ثانية
echo date("H:i:s"); // على سبيل المثال: 14:30:45

الطابع الزمني Unix Timestamp

الطابع الزمني هو عدد الثواني منذ بداية “عصر يونكس” (1 يناير 1970). يمكن الحصول عليه باستخدام الدالة `time()`:

// الحصول على الطابع الزمني الحالي
echo time(); // على  [شركة برمجة مصرية] سبيل المثال: 1697974245

دالة `strtotime()`

دالة `strtotime()` تُستخدم لتحويل سلسلة نصية تمثل تاريخًا ووقتًا إلى طابع زمني. تفيد هذه الدالة في معالجة التواريخ النصية وتحويلها إلى صيغة يمكن التعامل معها برمجيًا.

// تحويل سلسلة نصية إلى طابع زمني
$timestamp = strtotime("next Monday");
echo date("Y-m-d", $timestamp); // يعرض تاريخ الاثنين القادم

كائنات DateTime

تُعتبر كائنات `DateTime` و`DateTimeZone` من بين الأدوات الأكثر مرونة في التعامل مع التاريخ والوقت في PHP. حيث تتيح التعامل مع المناطق الزمنية وإجراء العمليات الحسابية على التواريخ.

// إنشاء كائن DateTime للتاريخ الحالي
$date = new DateTime();
echo $date->format('Y-m-d H:i:s'); // يعرض التاريخ والوقت الحاليين

// تغيير المنطقة الزمنية
$date->setTimezone(new DateTimeZone('America/New_York'));
echo $date->format('Y-m-d H:i:s'); // يعرض الوقت بالتوقيت الشرقي لأمريكا

العمليات [شركة برمجة مصرية] الحسابية على التواريخ

يمكنك استخدام كائن `DateTime` لإجراء العمليات الحسابية مثل إضافة أو طرح فترات زمنية:

// إضافة 10 أيام إلى التاريخ الحالي
$date = new DateTime();
$date->modify('+10 days');
echo $date->format('Y-m-d'); // يعرض التاريخ بعد 10 أيام

// طرح شهر واحد من التاريخ الحالي
$date->modify('-1 month');
echo $date->format('Y-m-d'); // يعرض التاريخ بعد طرح شهر

الخلاصة

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