سؤال

وأنا أحاول أن أكتب وظيفة لتنسيق التاريخ والوقت بالنسبة لي. لدي وظيفة مماثلة تقريبا الذي صيغ مجرد تاريخ. أن وظيفة يعمل بشكل جيد. أنا فقط واضاف بعض التعليمات البرمجية في محاولة ليكون ذلك تنسيق موعد مع الوقت. يجب أن إرجاع شيء من هذا القبيل "18 مايو 2009 09:50" ولكن أنا على الحصول على هذا التحذير:

Warning: mktime() expects parameter 6 to be long, string given in
public_html/include/functions.php on line 421

وهنا هو رمز لدي:

function dateTimeFormat($dateIn)
{
   $x = explode(" ",$dateIn);
   $y = explode("-",$x[0]);
   $z = explode(":",$x[1]);

   $year = $y[0]; 
   $month = $y[1];
   $day = $y[2];
   $hour = $z[0];
   $min = $z[1];

   $dateOut =date("F j, Y h:i A", mktime($hour, $min, 0, $month, $day, $year)); 

   return $dateOut;
}

ما هو إطفاء من الخطأ أيضا. أنه يضع بها:

December 31, 1969 07:00 PM

ولكن الطابع الزمني في قاعدة البيانات هو

2009-05-18 05:07:39
هل كانت مفيدة؟

المحلول

وPHP لديها بالفعل وظيفة جيدة تماما-تحليل التاريخ: strtotime() . تقوم بإرجاع الطابع الزمني يونكس التي يمكنك تمرير إلى date().

وبعبارة أخرى، الدالة يمكن خفضها الى هذا:

function dateTimeFormat($dateIn)
{
    return date("F j, Y h:i A", strtotime($dateIn));
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top