شرح صفوف ومحتوى الفقرة
استخدم الدالة date_interval_create_from_date_string() مع date_add() وdate_sub() لإضافة أو طرح الفترات الزمنية دون التأثير على التاريخ الأصلي.
- تبني الدالة
date_interval_create_from_date_string("1 month + 5 days")فترة زمنية مهيكلة من عبارة واضحة. - عند تطبيقها عبر
date_add($dt, $interval)على تاريخ غير قابل للتعديل، يبقى المتغير الأصلي$dtثابتاً وتُرجع الدالة تاريخاً جديداً. - يمكنك أيضاً إزاحة التاريخ مباشرة عبر الدالة
date_modify($dt, "+3 hours").
إضافة شهر و5 أيام إلى 2026-01-10 تعطي 2026-02-15، وطرح 3 أيام يحدد موعد التذكير في 2026-02-12.
PHP
<?php
date_default_timezone_set('UTC');
$issued = date_create_immutable('2026-01-10 09:00:00');
$span = date_interval_create_from_date_string('1 month + 5 days');
$due = date_add($issued, $span);
$reminder = date_sub($due, date_interval_create_from_date_string('3 days'));
echo "Issued: " . date_format($issued, 'Y-m-d') . " | Due: " . date_format($due, 'Y-m-d') . " | Remind: " . date_format($reminder, 'Y-m-d') . "\n";