Разделение даты и времени на дату и значение времени

Может ли кто-нибудь дать мне быстрый и грязный способ разделить дату и время (28-1-2011 14:32:55) на дату (28-1-2011) и время (14:32) или даже лучше (2:32 PM) с использованием PHP. Также используйте базу данных mySQL.

Приветствия

Ответ 1

Если вы используете PHP > 5.2:

$myvalue = '28-1-2011 14:32:55';

$datetime = new DateTime($myvalue);

$date = $datetime->format('Y-m-d');
$time = $datetime->format('H:i:s');

До PHP 5.2 mhitza дал хороший ответ.

Ответ 3

В php вы можете использовать функции date и strtotime для легкого извлечения.

$datetime = "28-1-2011 14:32:55";
$date = date('Y-m-d', strtotime($datetime));
$time = date('H:i:s', strtotime($datetime));

Ответ 4

Если вы ищете действительно быстрое и грязное решение.

$datetime = "28-1-2011 14:32:55";
$date_arr= explode(" ", $datetime);
$date= $date_arr[0];
$time= $date_arr[1];

Ответ 5

если вы хотите проанализировать дату с вашего Mysql и хотите удалить время то вы можете использовать эту функцию

$date1=date("Y-m-d",strtotime('$your database field'))

Ответ 6

Одна простая инструкция сделает свое дело

Explode преобразует дату и время в массив

и list отсортирует массив datetime по необходимым значениям

$datetime = "28-1-2011 14:32:55";
list($date, $time)=explode(' ', $datetime);

// check the result
echo "date:". $date;
echo "<br>time:". $time;

// further more you can easily split the date into 
// year month and day 
list($year, $month, $day)=explode('-', $date); 

Ответ 7

Мы можем легко разделить DateTime (28-1-2011 14:32:55) на дату и время в MySQL.

select SUBSTRING_INDEX("28-1-2011 14:32:55", " ",1) into @dateOnly;

select @dateOnly;

Вывод будет be- 28-1-2011 (Здесь мы разделим дату от DateTime)

select SUBSTRING_INDEX("28-1-2011 14:32:55", " ",-1) into @timeOnly;

select @timeOnly;

Вывод будет be- 14:32:55 (Здесь мы разделим время от DateTime)

Мы можем также перевести время в формат AM и PM.

select SUBSTRING_INDEX("28-1-2011 14:32:55", " ",-1) into @timeOnly;

SELECT TIME_FORMAT(@timeOnly, "%h %i %s %p")into @time;

select @time;

Формат времени станет 02 32 55 вечера