2013-08-27 2 views
1

Я хочу, чтобы преобразовать дату, как этоКак конвертировать M т в дате PHP

$original_date = date("M/d/Y"); // the output of that is Aug/27/2013 

на «08/27/2013»

+4

Почему бы не использовать 'm'? – Si8

+4

, набрав нижний регистр ** m ** ??!? –

+0

'$ originalDate = date (" d/m/Y "); Или это слишком просто? Я что-то пропустил? –

ответ

3

Как это:

date('m/d/Y', strtotime($original_date)); 

strtotime может конвертировать практически все разумное, что вы дадите ему в timestamp Unix, даже такие вещи, как «В следующую пятницу».

EDIT

Забавно, но кажется, что strtime не работает с датой, отформатированный как это ... Первое, что пришло мне на ум, чтобы заменить эти слэши с пробелами, с помощью str_replace или взрывать/взорваться или что-то работает для вас ...

$newDate = date('m/d/Y', strtotime(str_replace('/', ' ', $origDate))); 
$newDate = date('m/d/Y', strtotime(implode(' ', explode('/', $origDate)))); 
+0

вывод этого 01.01.1970 –

+0

Тогда ваш $ original_date ошибочен/false – Shomz

+0

это мой код $ newDate = дата ("M/d/Y"); $ date1 = дата ('m/d/Y', strtotime ($ newDate)) print_r ($ date1); –

2

Просто передавая ее обратно к функции даты

$original_date = date("M/d/Y"); 

$new_date = date('m/d/Y', strtotime($original_date)); 
2

Просто измените строку формата:

$originalDate = date("m/d/Y"); // = 08/27/2013 
0

или использовать DateTime и указать форму ввода во избежание двусмысленности: -

$dateString = \DateTime::createFromFormat('M/d/Y', $origanalDate)->format('m/d/Y'); 
Смежные вопросы