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

تنسيق كائنات DateTime

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

الآن بعد أن أصبح لديك كائن DateTime، تحتاج إلى تحويله إلى تنسيق نصي (string) قابل للقراءة. تُعد الوسيلة format() هي أداتك لتحويل كائن DateTime إلى أي تنسيق تاريخ أو وقت تحتاجه لأغراض العرض.

تستخدم طريقة format() نفس أحرف التنسيق تماماً التي تعلمتها مع دالة date(). هذا الاتساق يجعل من السهل تطبيق معرفتك الحالية على كائنات DateTime. تقوم باستدعاء الطريقة مباشرة على كائن DateTime الخاص بك وتمرير سلسلة التنسيق كمعامل.

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // المخرجات: 2024-03-15
echo $now->format("H:i:s");     // المخرجات: 14:30:25
echo $now->format("l, F j, Y"); // المخرجات: Friday, March 15, 2024
?>

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

quiz iconاختبر نفسك

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

quiz iconاختبر نفسك

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

quiz iconاختبر نفسك

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

challenge icon

التحدي

سهل

ستتلقى مدخلين: سلسلة نصية للتاريخ بالتنسيق Y-m-d H:i:s وسلسلة نصية للتنسيق. المدخل الأول هو تاريخ ووقت محدد (مثال: 2024-03-15 14:30:25)، والمدخل الثاني هو سلسلة نصية للتنسيق تحدد كيفية عرض التاريخ (مثال: l, F j, Y).

اقرأ كلا المدخلين، وأنشئ كائن DateTime باستخدام سلسلة التاريخ النصية، واستخدم التابع format() لتحويل كائن DateTime وفقاً لسلسلة التنسيق المقدمة، واطبع النتيجة المنسقة.

تنسيق المدخلات:

  • السطر الأول: سلسلة نصية للتاريخ بالتنسيق Y-m-d H:i:s (مثال: 2024-03-15 14:30:25)
  • السطر الثاني: سلسلة نصية للتنسيق (مثال: l, F j, Y أو H:i:s أو Y-m-d)

المخرجات المتوقعة: التاريخ منسقاً وفقاً لسلسلة التنسيق المقدمة

ورقة مرجعية

تقوم طريقة format() بتحويل كائن DateTime إلى تنسيق نصي قابل للقراءة باستخدام نفس أحرف التنسيق المستخدمة في دالة date():

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // المخرجات: 2024-03-15
echo $now->format("H:i:s");     // المخرجات: 14:30:25
echo $now->format("l, F j, Y"); // المخرجات: Friday, March 15, 2024
?>

يتيح لك النهج كائني التوجه (object-oriented) إنشاء كائن DateTime مرة واحدة وتنسيقه بطرق متعددة دون استدعاء الدوال الإجرائية بشكل متكرر.

جرّب بنفسك

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

// قراءة سلسلة التنسيق
$formatString = trim(fgets(STDIN));

// TODO: اكتب الكود الخاص بك أدناه
// إنشاء كائن DateTime وتنسيقه وفقًا لسلسلة التنسيق


// إخراج التاريخ المنسق
echo $formattedDate;
?>
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow