انتقل إلى محتوى الدرس

Adding and Subtracting with DateInterval إضافة وطرح الفترات الزمنية بـ DateInterval

احسب الفروق الزمنية بدقة، وأضف واطرح الفترات عبر DateTimeImmutable وDateInterval، وحوّل التوقيت بين المناطق الزمنية المختلفة في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

استخدم الدالة 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";