معالجة الوقت في PHP: إضافة وطرح 30 دقيقة من H:i
في PHP، يعد التعامل مع المهام المتعلقة بالوقت أمرًا بالغ الأهمية لمختلف المهام التطبيقات. يتضمن أحد السيناريوهات الشائعة تعديل قيم الوقت المنسقة كـ "H:i". يمثل هذا التنسيق الوقت بالساعات والدقائق، مثل "10:00" أو "13:30".
لإضافة أو طرح فترات زمنية محددة من هذه القيم، يمكننا استخدام strtotime() و date( ) وظائف. ومع ذلك، قد تحدث بعض السلوكيات غير المتوقعة إذا لم يتم تنسيق قيمة الوقت الأولية بشكل مناسب كطابع زمني.
دعونا نفكر في مثال حيث نهدف إلى إنشاء قيمتين جديدتين: $startTime قبل 30 دقيقة من $time و$endTime 30 دقائق بعد $time، حيث يكون $time بالتنسيق "H:i".
قد يبدو مقتطف التعليمات البرمجية أدناه في البداية معقول:
$startTime = date("H:i",strtotime('-30 minutes',$time));
$endTime = date("H:i",strtotime(' 30 minutes',$time));
ومع ذلك، عند تمرير "10:00" كوقت $، نواجه نتائج غير متوقعة: يصبح $startTime "00:30" بدلاً من "09:30" المقصود، ويصبح $endTime "01:30" بدلاً من "10:30."
تكمن المشكلة الرئيسية في الافتراض الأولي بأن $time هو الطابع الزمني. ومع ذلك، فهي مجرد سلسلة منسقة كـ "H:i." لحل هذه المشكلة، يجب علينا أولاً تحويل $time إلى طابع زمني باستخدام الدالة strtotime().
الكود المصحح:
$time = strtotime('10:00');
$startTime = date("H:i", strtotime('-30 minutes', $time));
$endTime = date("H:i", strtotime(' 30 minutes', $time));
الآن، تتوافق النتائج مع توقعاتنا: $startTime يصبح "09:30"، و$endTime يصبح "10:30". من خلال التأكد من أن $time هو طابع زمني منذ البداية، يمكننا إجراء معالجة دقيقة للوقت في PHP.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3