Может ли кто-нибудь дать мне быстрый и грязный способ разделить дату и время (28-1-2011 14:32:55) на дату (28-1-2011) и время (14:32) или даже лучше (2:32 PM) с использованием PHP. Также используйте базу данных mySQL.
Приветствия
Может ли кто-нибудь дать мне быстрый и грязный способ разделить дату и время (28-1-2011 14:32:55) на дату (28-1-2011) и время (14:32) или даже лучше (2:32 PM) с использованием PHP. Также используйте базу данных mySQL.
Приветствия
Если вы используете 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 дал хороший ответ.
если источником данных является MySQL:
SELECT DATE( date_field ) AS date_part, TIME( date_field ) AS time_part ....
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_time
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date
Изменить: ответить на вопрос из комментариев (пример):
WHERE DATE( date_field ) > '2017-01-01'
В php вы можете использовать функции date
и strtotime
для легкого извлечения.
$datetime = "28-1-2011 14:32:55";
$date = date('Y-m-d', strtotime($datetime));
$time = date('H:i:s', strtotime($datetime));
Если вы ищете действительно быстрое и грязное решение.
$datetime = "28-1-2011 14:32:55";
$date_arr= explode(" ", $datetime);
$date= $date_arr[0];
$time= $date_arr[1];
если вы хотите проанализировать дату с вашего Mysql и хотите удалить время то вы можете использовать эту функцию
$date1=date("Y-m-d",strtotime('$your database field'))
Одна простая инструкция сделает свое дело
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);
Мы можем легко разделить 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 вечера