كيفية حساب الفرق بين تاريخين في PHP؟
مرحباً بالجميع! أنا مطور PHP مبتدئ، وواجهت مشكلة في حساب الفرق بين تاريخين. أحتاج إلى إنشاء وظيفة لحساب عمر المستخدم على الموقع. لدي تاريخ ميلاد بصيغة '1990-05-15' والتاريخ الحالي. أحاول حساب الفرق بالسنوات والشهور والأيام.
حاولت استخدام عمليات حسابية بسيطة، لكني أحصل على نتائج غريبة. على سبيل المثال، عندما أطرح تاريخاً من آخر، أحصل على رقم لا يتوافق مع الفرق المتوقع. إليك الكود الخاص بي:
```php
$birthday = '1990-05-15';
$today = date('Y-m-d');
$diff = $today - $birthday;
echo $diff; // يطبع شيئاً غير مفهوم، مثلاً 24
```
أفهم أن هذا خطأ، لأن السلاسل النصية لا يمكن طرحها بهذه الطريقة. حاولت التحويل إلى timestamp باستخدام strtotime()، لكن النتائج لا تزال غير دقيقة. على سبيل المثال، عند حساب الفرق بين 2023-01-01 و 2023-03-01 أحصل على 59 يوماً، بينما يجب أن يكون 59 يوماً (يناير 31، فبراير 28)، لكن إذا أخذت 2023-01-01 و 2023-04-01، فإن الفرق