مقدمة إلى كائن DateTime
جزء من قسم المنطق وتدفق التنفيذ في رحلة PHP على Coddy. الدرس 48 من 68.
بينما تعمل الدوال الإجرائية مثل date() وtime() وstrtotime() بشكل جيد لعمليات التاريخ الأساسية، توفّر PHP نهجًا أكثر قوة ومرونة من خلال الصنف DateTime. توفّر هذه الطريقة كائنية التوجه تنظيمًا أفضل، وبنية أوضح، ووظائف أكثر تقدمًا للعمل مع التواريخ والأوقات.
تمثّل الفئة DateTime لحظةً محددة من الزمن باعتبارها كائنًا، ويمكنك بعد ذلك معالجتها وتنسيقها باستخدام أساليب متنوعة. وعلى خلاف الدوال الإجرائية التي تعمل باستخدام طوابع زمنية وسلاسل تنسيق منفصلة، يغلّف كائن DateTime كلاً من بيانات التاريخ/الوقت والعمليات التي يمكنك إجراؤها عليه.
<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Outputs something like: 2024-03-15 14:30:25
?>يؤدي إنشاء كائن DateTime جديد بدون أي معلمات إلى تعيينه تلقائيًا على التاريخ والوقت الحاليين.
يجعل النهج القائم على البرمجة كائنية التوجه شفرتك أكثر قابلية للقراءة والصيانة، خاصةً عندما تحتاج إلى إجراء عمليات متعددة على التاريخ نفسه. ستجد هذا مفيدًا بشكل خاص عندما تعمل على حسابات تواريخ أكثر تعقيدًا ومتطلبات تنسيقها.
التحدي
سهلستتلقى إدخالًا واحدًا: سلسلة تاريخ بالتنسيق Y-m-d H:i:s (مثال: 2024-03-15 14:30:25).
اقرأ سلسلة التاريخ المُدخلة، وأنشئ كائن DateTime باستخدام سلسلة التاريخ هذه كمعامل، ثم اطبع كائن DateTime مباشرةً.
عند إنشاء كائن DateTime باستخدام معامل سلسلة تاريخ، فإنه يمثل تلك اللحظة المحددة من الزمن بدلًا من التاريخ والوقت الحاليين. ما عليك سوى استخدام echo لعرضه.
تنسيق الإدخال: سطر واحد يحتوي على سلسلة تاريخ بالتنسيق Y-m-d H:i:s (مثال: 2024-03-15 14:30:25)
المخرجات المتوقعة: التاريخ والوقت بالتنسيق Y-m-d H:i:s
جرّب بنفسك
<?php
// اقرأ سلسلة التاريخ المدخلة
$dateString = trim(fgets(STDIN));
// TODO: أنشئ كائن DateTime باستخدام سلسلة التاريخ واطبعه
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1الدوال المتقدمة
الدوال المجهولةالـ Closures وكلمة 'use'دوال السهمدوال الـ Callbackاستخدام 'call_user_func'دوال المتغيراتالتمرير بالمرجعالدوال العوديةمراجعة: مزيج الدوال4المصفوفات متعددة الأبعاد
إنشاء مصفوفة ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادتعديل عناصر المصفوفة ثنائية الأبعادالتكرار باستخدام الحلقات المتداخلةالمصفوفات الترابطية ثنائية الأبعادمراجعة: تمرين الشبكة البسيطة7التعامل مع التواريخ والأوقات
دالة 'date()'طوابع Unix الزمنية باستخدام 'time()'مقدمة إلى كائن DateTimeتنسيق كائنات DateTimeتعديل كائنات DateTimeمراجعة: حسابات التاريخ2معالجة المصفوفات المتقدمة
الإضافة باستخدام 'array_push'الحذف باستخدام 'array_pop'الإضافة باستخدام 'array_unshift'الحذف باستخدام 'array_shift'دمج المصفوفات المفهرسةدمج المصفوفات الترابطيةالاستخراج باستخدام 'array_slice'القيم باستخدام 'in_array'المفاتيح باستخدام 'array_search'مراجعة: تمرين قائمة التشغيل3ترتيب المصفوفات
ترتيب المصفوفات المفهرسة تصاعدياًترتيب المصفوفات المفهرسة تنازلياًترتيب المصفوفات الترابطية حسب القيمةترتيب المصفوفات الترابطية حسب المفتاحالترتيب بالترتيب الطبيعيالترتيب المخصص باستخدام 'usort'مراجعة: ترتيب لوحة المتصدرينتدرّب بنفسك: مترجم PHP عبر الإنترنت