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

Calculating Differences with diff حساب الفارق الدقيق بين تاريخين عبر diff

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

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

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

لا تطرح الطوابع الزمنية وتقسمها على 86400 عبر الشهور المختلفة؛ بل اعتمد على date_diff($start, $end) لحساب الفروق التقويمية بدقة.

  • تُرجع date_diff($d1, $d2) كائن فترة يحتوي على الخصائص y (السنوات) وm (الشهور) وd (الأيام المتبقية) وإجمالي الأيام الكلي days.
  • تعطي الخاصية $diff->days إجمالي عدد الأيام الكلي بين التاريخين، بينما تعطي $diff->d الأيام المتبقية فقط بعد خصم الشهور الكاملة.
  • نسّق الفارق عبر date_interval_format($diff, "%R%a days") حيث يطبع %R الإشارة (+ أو -) ويطبع %a إجمالي الأيام.

بين 1 يناير و5 مارس 2026، تحسب date_diff() التفصيل التقويمي (2 months, 4 days) وإجمالي الأيام الكلي (63 days).

مخطط تدفق التنفيذ العملي لقسم حساب الفارق الدقيق بين تاريخين عبر diff في لغة PHP
PHP
<?php
date_default_timezone_set('UTC');
$start = date_create_immutable('2026-01-01');
$end = date_create_immutable('2026-03-05');
$diff = date_diff($start, $end);
$breakdown = date_interval_format($diff, '%m months, %d days');
echo "$breakdown (Total: " . $diff->days . " days)\n";