【问题标题】:Database time format change数据库时间格式更改
【发布时间】:2016-01-21 06:18:08
【问题描述】:

对于我的数据库时间,我有以下几点:

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 天”格式显示时间。

我如何做到这一点?

【问题讨论】:

    标签: php database time


    【解决方案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】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-11-22
          • 1970-01-01
          • 1970-01-01
          • 2015-09-12
          • 2018-02-17
          相关资源
          最近更新 更多