هل هناك طريقة بسيطة لتحويل تنسيق تاريخ بتنسيق تاريخ آخر في بي إتش بي?
ولدى هذا:
1 2 3 | $oldDate = date('y-m-d-h-i-s'); //Esto funciona $aux = strtotime($oldDate); //Esto devuelve false $newDate = date('Y-m-d H:i:s', $aux); //Devuelve 1970-01-01 00:00:00 |
ماذا أفعل الخطأ?
المعلمة الثانية التي تمرر لك تعطيك() يجب أن تكون معلمة مناسبة, أي, الثواني منذ 1 في كانون الثاني/يناير 1970. السلسلة التي تمرر فإنه لم يتعرف عليه.
فإنه يستخدم strtotime()
لتحويل سلسلة تاريخ في الطابع الزمني, على الرغم من أن ولا حتى سترتوتيمي() وسوف تعترف y-m-d-h-i-s
.
بي إتش بي 5.3 فيما يلي
استخدام DateTime::createFromFormat
. يسمح لك بتحديد قناع دقيق باستخدام بناء جملة تعطيك() لتحليل تاريخ الوارد.
بي إتش بي 5.2 والسابقة
يجب عليك مسح العناصر (السنة, في الشهر, اليوم, الوقت, دقيقة, الثانية) استخدام substr() ونقل النتائج إلى mktime () بناء الطابع الزمني.
هناك الكثير من العمل! أوصى باستخدام تنسيق مختلف عن سترتوتيمي() أنت بحاجة إلى معرفة. جرب هذا:
1 2 3 | $oldDate = date('l, F d y h:i:s'); // devuelve Sabado, Enero 30 10 02:06:34 $auxTS = strtotime($oldDate); $newDate = date('Y-m-d H:i:s', $auxTS); |
رجاءً, قم بتسجيل الدخول أو سجل لطرح سؤال