Как конвертировать дату из одного формата в другой

Im имеет дату в этом формате на листе Excel 03-Dec-10. Таким образом, он несовместим при вставке его в базу данных. Как конвертировать дату в приемлемый формат.

Эксперты помогут

Related of "Как конвертировать дату из одного формата в другой"

Хотя ответ Джона верен, вот еще один вариант:

$input = '03-Dec-10'; $date = date('Ymd', strtotime($input)); 
 $input = '03-Dec-10'; $date = DateTime::createFromFormat('dM-y', $input); echo $date->format('Ymd'); // or possibly 'Ymd' 

Это приведет к выходу 20101203 , который, по-видимому, вы хотите. Если это не совсем то, что вам нужно, посмотрите здесь .

Вы также можете сделать обратное:

 $input = '20101203'; $date = DateTime::createFromFormat('Ymd', $input); echo $date->format('dM-y'); 

Если вы делаете это из самого Excel, вы можете поместить эту формулу в другую колонку

= ТЕКСТ (A2, "YYYYmmdd")

Затем скопируйте. Это дает совместимую 8-значную дату.

Для более общего подхода вы всегда можете сбрасывать свой текущий формат в строку, например, как у вас есть, и использовать строковые операции для подстроки и реорганизации. Я знаю, что MySQL принимает строковые значения для полей DATETIME .

 $day = substr($input, 0, 2); $month = substr($input, 2, 3); switch($month){ case "Jan": $month = "01"; break; ... } в $day = substr($input, 0, 2); $month = substr($input, 2, 3); switch($month){ case "Jan": $month = "01"; break; ... }