Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مقدمة إلى كائن DateTime

جزء من قسم Logic & Flow في رحلة PHP على Coddy — الدرس 48 من 68.

بينما تعمل الدوال الإجرائية مثل date() و time() و strtotime() بشكل جيد لعمليات التاريخ الأساسية، يوفر PHP نهجاً أكثر قوة ومرونة من خلال كلاس DateTime. توفر هذه الطريقة الموجهة للكائنات تنظيماً أفضل، وبناء جملة أوضح، ووظائف أكثر تقدماً للتعامل مع التواريخ والأوقات.

تمثل فئة DateTime لحظة محددة في الوقت ككائن، والذي يمكنك بعد ذلك معالجته وتنسيقه باستخدام طرق (methods) متنوعة. وعلى عكس الدوال الإجرائية التي تعمل مع طوابع زمنية وسلاسل تنسيق منفصلة، يقوم كائن DateTime بتغليف كل من بيانات التاريخ/الوقت والعمليات التي يمكنك إجراؤها عليها.

<?php
$now = new DateTime();
echo $now;  // يُخرج شيئاً مثل: 2024-03-15 14:30:25
?>

إنشاء كائن DateTime جديد بدون أي معاملات يضبطه تلقائيًا على التاريخ والوقت الحاليين.

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

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

challenge icon

التحدي

سهل

ستتلقى مدخلاً واحداً: سلسلة نصية للتاريخ بتنسيق Y-m-d H:i:s (مثال: 2024-03-15 14:30:25).

اقرأ سلسلة التاريخ المدخلة، وقم بإنشاء كائن DateTime باستخدام سلسلة التاريخ هذه كمعامل (parameter)، ثم اطبع كائن DateTime مباشرة.

عندما تقوم بإنشاء كائن DateTime باستخدام معامل سلسلة التاريخ، فإنه يمثل تلك اللحظة المحددة في الوقت بدلاً من التاريخ والوقت الحاليين. ببساطة استخدم echo لعرض الكائن.

تنسيق المدخلات: سطر واحد يحتوي على سلسلة تاريخ بتنسيق Y-m-d H:i:s (مثال: 2024-03-15 14:30:25)

المخرجات المتوقعة: كائن DateTime معروض بتنسيقه الافتراضي

ورقة مرجعية

توفر فئة DateTime نهجاً كائني التوجه للتعامل مع التواريخ والأوقات في PHP، مما يوفر تنظيماً ومرونة أفضل من الدوال الإجرائية.

إنشاء كائن DateTime للوقت الحالي:

$now = new DateTime();

إنشاء كائن DateTime لتاريخ محدد:

$specificDate = new DateTime("2023-05-15");

استخدم التابع format() لعرض التواريخ بتنسيقات محددة:

echo $now->format("Y-m-d H:i:s");  // 2024-03-15 14:30:25
echo $specificDate->format("Y-m-d");  // 2023-05-15

جرّب بنفسك

<?php
// قراءة مدخلات سلسلة التاريخ
$dateString = trim(fgets(STDIN));

// TODO: إنشاء كائن DateTime باستخدام سلسلة التاريخ وطباعته


?>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow