2015-04-20 3 views
0

Мне нужно получить только день от значения datetime в php. Я получаю из своей базы данных что-то вроде «2015-01-01 12:12:12», и мне просто нужно «2015-01-01» для добавления после «00:00:00» или «23:59:59».Получить часть даты в php

Я пробовал:

echo $res0['dateInit']; 
    $date_day = date('yyyy-mm-dd',$res0['dateInit']); 
    $date_init = $date_day . " 00:00:00"; 
    $date_end = $date_day . " 23:59:59"; 
    echo $date_init; 
    echo "<br>"; 
    echo $date_end; 

Но я получаю неверное значение во втором эхо. Что я делаю не так?

+2

Вы действительно хотите повторить год четыре раза, месяц два раза и два раза? Это PHP, а не MS Excel - [Форматировать коды для даты() в PHP] (http://php.net/manual/en/function.date.php) –

+0

нет, я просто хочу его каждый раз – Biribu

+0

возможно дублировать из [Извлечение только даты из поля datetime (mysql) и назначение его переменной php] (http://stackoverflow.com/questions/14020090/extracting-only-date-from-datetime-field-mysql-and-assigning-it -to-php-variabl) –

ответ

2

использование StrToTime, проверить код ниже:

$date = '2015-01-01 12:12:12'; 
$day = date('Y-m-d',strtotime($date)); 
$split_date = split(" ",$date); 
print "day = $day and $date and $split_date[0]"; 

И выход

день = 2015-01-01 и 2015-01-01 12:12:12 и 2015-01-01

+0

также, если ваша дата в БД всегда в том же формате, как указано в вопросе, вы можете попробовать его разбить. Я также изменил свой код для разделения. – JammuPapa

4

Использование Strtotime:

$date_day = date('Y-m-d',strtotime($res0['dateInit'])); 
1

Вы можете выбрать только дату:

SELECT *, DATE(dateInit) FROM ... 
Смежные вопросы