2015-04-09 4 views
-1

У меня есть строковое значение «27/03/2015», и я хочу преобразовать эту строку в новый формат даты. Ниже приведен код, который я использую сейчас.Неверный вывод при преобразовании в новый формат даты

<?php echo date("Y-m-d",strtotime("27/03/2015")); ?> 

Но это дает неправильный результат, подобный этому 1970-01-01.

+0

проверить это http://stackoverflow.com/questions/2891937/strtotime-doesnt-work-with-dd-mm-yyyy-format – Krishna38

ответ

1

попробовать этот

<?php echo date("Y-m-d",strtotime(str_replace('/', '-', YOUR DATE)))); ?> 
2

Это потому, что strtotime не может проанализировать вашу строку даты. Попробуйте:

<?php echo strtotime("27/03/2015"); ?> 

Результат должен быть False. Так как False совпадает с 0, вы действительно работаете date("Y-m-d", 0), результатом чего является «1970-01-01» («эпоха unix»).

strtotime только распознает определенные форматы даты, перечисленные here. Самый близкий к вашему входному формату «27-03-2015» («День, месяц и четыре цифры года, с точками, вкладками или тире»).

+0

спасибо @ lsowen –

0

в описанном выше случае/Seperator не действует (как дата будет оцениваться по Дата 3 & Месяц 27) вы можете использовать -

echo date("Y-m-d",strtotime("27-03-2015")); 
+0

'/' Да действительно! – Rizier123

+0

@ Rizier123 да, но с вышеуказанным вводом он рассмотрит 3-ю дату и 27-й месяц – Swapnil

0

Вот простое решение

$date = '27/03/2015'; 
$date = str_replace('/', '-', $date); 
echo date('Y-m-d', strtotime($date)); 
0

Я думаю, что «/» не разрешено или должно Я говорю, неузнаваем как параметр strtotime.

<?php 
$dateString = "27/03/2015"; 
//now let's check if the variable has a "/" inside of it. 
//If it does, then replace "/" with "-". 
//If it doesnt, then go with it. 
//"." also accepted for strtotime as well. 
$dateString = (strpos($dateString,"/") ? str_replace("/","-",$dateString) : $dateString); 
echo date("Y-m-d",strtotime($dateString)); 
?> 
+0

Хотя это может ответить на вопрос, всегда полезно добавить текст в свой ответ, чтобы объяснить, что вы делаете. Прочитайте [как написать хороший ответ] (http://stackoverflow.com/help/how-to-answer). – jurgemaister

+0

Спасибо за совет, я попробую –

Смежные вопросы