Получение времени и даты из метки времени с помощью php - PullRequest
21 голосов
/ 02 апреля 2012

в моей базе данных у меня есть столбец отметки времени ... который отражает такой формат: 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 ]

60 голосов
/ 02 апреля 2012
$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));
8 голосов
/ 20 января 2014

Если вы не хотите изменять формат даты и времени из отметки времени, вы можете использовать функцию explode в php

$timestamp = "2012-04-02 02:57:54"
$datetime = explode(" ",$timestamp);
$date = $datetime[0];
$time = $datetime[1];
2 голосов
/ 20 января 2014
$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));
1 голос
/ 21 ноября 2014
$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];
0 голосов
/ 03 марта 2018

Вы можете попробовать это:

Для даты:

$date = new DateTime($from_date);
$date = $date->format('d-m-Y');

Для времени:

$time = new DateTime($from_date);
$time = $time->format('H:i:s');
0 голосов
/ 21 июля 2016

у меня работает:

select DATE( FROM_UNIXTIME( columnname ) ) from tablename;
0 голосов
/ 15 марта 2014

При желании вы можете использовать функцию базы данных для форматирования даты / времени.Например, в запросе MySQL используйте:

SELECT DATE_FORMAT(DATETIMEAPP,'%d-%m-%Y') AS date, DATE_FORMT(DATETIMEAPP,'%H:%i:%s') AS time FROM yourtable

Я думаю, что над базами данных также есть решения для форматирования даты

...