Проблема преобразования формата даты - PullRequest
0 голосов
/ 20 января 2012

У меня есть проблема, с которой я сталкиваюсь на пути к длинным

Пожалуйста, посмотрите на код ниже: (Я прокомментировал правильные значения, которые я получаю при отладке переменной)

Когда вводом является, например, «0000-00-00 00:00:00»

 $date1 = ($date['confirmed_at']); //value of $date1 is "0000-00-00 00:00:00"
 $date2 = strtotime($date1); //value of $date2 is "1"
 $date3 = date('y-m-d',$date2); //value of $date3 is "70-01-01"

Когда вводом является, например, «2011-09-12 08:57:26»

 $date1 = ($date['confirmed_at']); //value of $date1 is "2011-09-12 08:57:26"
 $date2 = strtotime($date1); //value of $date2 is "1315817846"
 $date3 = date('y-m-d',$date2); //value of $date3 is "11-09-12"

Я немного запутался с полученными значениями ... Все, что я пытаюсь сделать, это взять дату, которая в настоящее время находится в "ГГГГ-ММ-ДД ЧЧ-ММ-SS "и преобразовать его в формат" ГГГГ-ММ-ДД ".

Ответы [ 3 ]

1 голос
/ 20 января 2012

То, что вы видите в первом примере, проистекает из того факта, что strtotime() возвращает метку времени Unix, то есть количество секунд с 1 января 1970 года. Она просто не может вернуть ничего разумного для 0000-00-00 00:00:00 ,

Для YYYY-MM-DD формата использования date('Y-m-d')

0 голосов
/ 20 января 2012

Результат strtotime("0000-00-00 00:00:00") может варьироваться в зависимости от версии PHP и ОС, поэтому использовать strtotime для нулевой даты "0000-00-00 00:00:00" не имеет смысла.

0 голосов
/ 20 января 2012

используйте «date ('Ym-d', $ date2)» для формата YYYY-MM-DD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...