对于我的数据库时间,我有以下内容:
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天“格式显示时间。
我怎样才能做到这一点?
发布于 2016-01-21 06:28:35
看起来您可能正在使用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()函数格式化日期。有关如何执行此操作的详细信息,请参见日期格式。
发布于 2016-01-21 06:26:34
原因是PHP不支持Canda/Mountain时区。
有关受支持时区的列表,请参见参考文献。
发布于 2016-01-21 06:38:30
你需要两个解决办法。首先是时区,因为您使用的是无效的时区。首选时区可能是加拿大/萨斯喀彻温省。(通过查看受支持的区域这里列表,根据您的区域更改它)
其次,您对MySQL使用的是无效的日期格式。最后,您的代码应该如下所示:
date_default_timezone_set('Canada/Saskatchewan');
$comment_date = date('Y-m-d H:i:s', time());
$data = array(
'comment_date' => $comment_date
);https://stackoverflow.com/questions/34916641
复制相似问题