كيفية حساب الفرق بين تاريخين في PHP: دليل مفصل
مرحباً بالجميع! أنا مبتدئ في PHP وواجهت مشكلة عند العمل مع التواريخ. أحتاج إلى حساب الفرق بين تاريخين بالأيام، لكنني لا أجد الطريقة الصحيحة.
لدي تاريخان بتنسيق "Y-m-d"، على سبيل المثال:
- $date1 = "2023-01-15";
- $date2 = "2023-02-20";
حاولت طرحهما ببساطة، لكن ذلك لم يعمل لأنهما strings. ثم قمت بتحويلهما إلى timestamp باستخدام strtotime() وطرحتهما، لكن النتيجة كانت بالثواني، ولست متأكداً كيفية تحويلها إلى أيام بشكل صحيح.
هذا هو الكود الحالي الذي يعطي نتائج غريبة:
```php
$date1 = "2023-01-15";
$date2 = "2023-02-20";
$diff = strtotime($date2) - strtotime($date1);
echo $diff; // يطبع 3110400 ثانية
$days = $diff / (60 * 60 * 24);
echo $days; // يطبع 36 يوماً، لكن هذا غير دقيق
```
المشكلة أنني لست متأكداً إذا كنت أحسب الأيام بشكل صحيح. على سبيل المثال، عند الانتقال إلى التوقيت الصيفي أو في السنوات الكبيسة قد تكون هناك أخطاء. بالإضافة إلى ذلك، أحتاج ليس فقط عدد الأيام، بل الفرق في