Получение времени и даты из метки времени с помощью php
В моей базе данных у меня есть столбец с отметкой времени...который отражает такой формат, как этот: 2012-04-02 02:57:54
Однако я хотел бы разделить их на $date
и $time
.
После некоторых исследований в руководстве по php...Я обнаружил, что date(), date_format() и strtotime() могут помочь мне разделить их...(не уверен, что я прав)
Но я не очень уверен в том, как это закодировать...
В моем php-файле... извлеченная временная метка будет $row['DATETIMEAPP'].
Будет
$date= strtotime('d-m-Y',$row['DATETIMEAPP']);
$time= strtotime('Gi.s',$row['DATETIMEAPP']);
Или
$date= date('d-m-Y',$row['DATETIMEAPP']);
Работа?
Могу ли я использовать date(), чтобы также узнать время??
Заранее благодарю
7 answers
$timestamp = strtotime($row['DATETIMEAPP']);
Дает вам метку времени, которую затем вы можете использовать для форматирования даты:
$date = date('d-m-Y', $timestamp);
$time = date('Gi.s', $timestamp);
Альтернативно
list($date, $time) = explode('|', date('d-m-Y|Gi.s', $timestamp));
Если вы не хотите изменять формат даты и времени по метке времени, вы можете использовать функцию explode
в php
$timestamp = "2012-04-02 02:57:54"
$datetime = explode(" ",$timestamp);
$date = $datetime[0];
$time = $datetime[1];
$mydatetime = "2012-04-02 02:57:54";
$datetimearray = explode(" ", $mydatetime);
$date = $datetimearray[0];
$time = $datetimearray[1];
$reformatted_date = date('d-m-Y',strtotime($date));
$reformatted_time = date('Gi.s',strtotime($time));
$timestamp='2014-11-21 16:38:00';
list($date,$time)=explode(' ',$timestamp);
//просто время
preg_match("/ (\d\d:\d\d):\d\d$/",$timestamp,$match);
echo "\n<br>".$match[1];
Работает для меня:
select DATE( FROM_UNIXTIME( columnname ) ) from tablename;
Вы можете попробовать это:
Для даты:
$date = new DateTime($from_date);
$date = $date->format('d-m-Y');
Для времени:
$time = new DateTime($from_date);
$time = $time->format('H:i:s');
При необходимости вы можете использовать функцию базы данных для форматирования даты/времени. Например, в запросе MySQL используйте:
SELECT DATE_FORMAT(DATETIMEAPP,'%d-%m-%Y') AS date, DATE_FORMT(DATETIMEAPP,'%H:%i:%s') AS time FROM yourtable
Я думаю, что over databases также предоставляет решения для форматирования даты