将时间转换为可读格式

时间:2010-11-05 05:24:26

标签: php datetime time

我在数据库中有这样的时间

                [open_time] => 10:00:00
                [close_time] => 23:00:00

我希望将其转换为可读形式,如上午10:00至晚上11:00

我试过了:

$open = date("g:s a",$time['open_time']);

$close = date("g:sa",$time['close_time']);

我收到以下错误:

  

遇到非正确形成的数值

3 个答案:

答案 0 :(得分:10)

date需要一个整数参数,即传统的Unix timestamp

试试这个:

date('g:s a', strtotime($time['open_time']));

strtotime尝试将字符串转换为date所期望的整数Unix时间戳。

答案 1 :(得分:2)

如果它在您的数据库中,请考虑直接在您的请求中使用MySQL DATE_FORMAT() function

答案 2 :(得分:2)

第二个参数需要UNIX时间戳(纪元时间):

http://php.net/manual/en/function.date.php

  

时间戳

     

可选的时间戳   参数是整数Unix时间戳   默认为当前本地   没有给出时间戳的时间。在   换句话说,它默认为该值   时间()。

<?php
$t = time();
print_r($t);
print_r(date('g:i a', $t));
?>

给出

1288935001
10:30 pm