数据库时间格式更改

时间:2016-01-21 06:18:08

标签: php database time

对于我的数据库时间,我有以下内容:

date_default_timezone_set('Canada/Mountain');
$comment_date = date('m/d/Y h:i:s a', time());

 $data = array(                         
        'comment_date' => $comment_date         
    );

但我得到0000-00-00 00:00:00作为结果。

我试图以“1分钟”或“20小时”或“4天”格式显示时间。

我如何实现这一目标?

3 个答案:

答案 0 :(得分:1)

原因是PHP不支持Canda/Mountain时区。

有关支持的时区列表,请参阅reference

答案 1 :(得分:1)

看起来你可能正在使用MySQL。假设这样,改变

$comment_date = date('m/d/Y h:i:s a', time());

$comment_date = date('Y-m-d h:i:s');

并且在将其保存到数据库时应保留正确的日期。原因是MySQL期望采用后一种格式的日期时间。

我不确定I am trying to show the time in "1 min" or "20 hr" or "4 days" format你的意思。您可以使用MySQL DATE_FORMAT()函数格式化从数据库中提取日期的日期。有关如何执行此操作的详细信息,请参阅http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format

答案 2 :(得分:1)

您需要两个修复程序。首先是时区,因为您使用的是无效区域。首选时区可能是加拿大/萨斯喀彻温省。 (通过查看支持的区域列表here

,根据您的区域进行更改

其次,您使用的是无效的MySQL日期格式。最后,您的代码应如下所示:

date_default_timezone_set('Canada/Saskatchewan');
$comment_date = date('Y-m-d H:i:s', time());

 $data = array(                         
        'comment_date' => $comment_date         
    );