从时间戳获取时间和日期与PHP

时间:2012-04-02 03:33:25

标签: php date time timestamp

在我的数据库中我有一个时间戳列...反映了这样的格式: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 个答案:

答案 0 :(得分:60)

$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));

答案 1 :(得分:8)

如果您不想从时间戳更改日期和时间的格式,可以使用php中的explode函数

$timestamp = "2012-04-02 02:57:54"
$datetime = explode(" ",$timestamp);
$date = $datetime[0];
$time = $datetime[1];

答案 2 :(得分:2)

$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));

答案 3 :(得分:1)

$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];

答案 4 :(得分:0)

适合我:

select DATE( FROM_UNIXTIME( columnname ) ) from tablename;

答案 5 :(得分:0)

你可以试试这个:

日期:

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

时间:

$time = new DateTime($from_date);
$time = $time->format('H:i:s');

答案 6 :(得分:-1)

您可以选择使用数据库功能进行日期/时间格式化。例如在MySQL查询中使用:

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

我认为数据库也为日期格式提供了解决方案