首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库时间格式更改

数据库时间格式更改
EN

Stack Overflow用户
提问于 2016-01-21 06:18:08
回答 3查看 94关注 0票数 0

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

代码语言:javascript
复制
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天“格式显示时间。

我怎样才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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()函数格式化日期。有关如何执行此操作的详细信息,请参见日期格式

票数 1
EN

Stack Overflow用户

发布于 2016-01-21 06:26:34

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

有关受支持时区的列表,请参见参考文献

票数 1
EN

Stack Overflow用户

发布于 2016-01-21 06:38:30

你需要两个解决办法。首先是时区,因为您使用的是无效的时区。首选时区可能是加拿大/萨斯喀彻温省。(通过查看受支持的区域这里列表,根据您的区域更改它)

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

代码语言:javascript
复制
date_default_timezone_set('Canada/Saskatchewan');
$comment_date = date('Y-m-d H:i:s', time());

 $data = array(                         
        'comment_date' => $comment_date         
    );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34916641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档