العثور على عدد الأشهر بين التواريخ بكفاءة
يتمثل التحدي البرمجي الشائع في تحديد عدد الأشهر بين تاريخين. في PHP، هناك طرق متعددة لحل هذه المشكلة.
استخدام فئة DateTime (PHP >= 5.3):
توفر فئة DateTime المقدمة في PHP 5.3 طرقًا ملائمة للتلاعب بالتاريخ لحساب فرق الشهر:
$d1 = new DateTime("2009-09-01");
$d2 = new DateTime("2010-05-01");
$diff = $d1->diff($d2);
echo $diff->m; // 4
echo $diff->m ($diff->y * 12); // 8
استخدام الطوابع الزمنية لنظام Unix:
بالنسبة لإصدارات PHP الأقل من 5.3، يمكنك استخدام الطوابع الزمنية لنظام Unix:
$d1 = strtotime("2009-09-01");
$d2 = strtotime("2010-05-01");
echo (int)abs(($d1 - $d2) / (60 * 60 * 24 * 30)); // 8
حلقة مخصصة:
إذا لم يكن من الممكن استخدام الطوابع الزمنية لـ DateTime أو Unix، ففكر في حلقة مخصصة تزيد عدادًا واحدًا لكل شهر إضافي:$d1 = strtotime("2009-09-01");
$d2 = strtotime("2010-05-01");
$i = 0;
while (($d1 = strtotime(" 1 MONTH", $d1)) الدقة والموثوقية:لاحظ أن نهج الطابع الزمني لنظام Unix يفترض شهرًا مكونًا من 30 يومًا، وهو ما قد يكون غير دقيق. لمزيد من الدقة، يوصى باستخدام DateTime::diff إن أمكن أو الاعتماد على قاعدة بياناتك لإجراء العمليات الحسابية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3