【问题标题】:Format date from database?从数据库格式化日期?
【发布时间】:2010-12-04 20:22:42
【问题描述】:

当我从数据库中提取日期时,它会像这样返回:

2009-10-14T19:00:00

我想用两种不同的方式格式化它...

第一个:F d, Y 第二个 h:m(12 小时格式)

我尝试的一切都返回 1969 年 12 月... 救命?!感觉好迷茫……

【问题讨论】:

    标签: php date format


    【解决方案1】:

    通常代码只是:

    echo date('F d, Y h:mA', strtotime('2009-10-14 19:00:00'));
    

    请注意,如果strtotime() 无法确定日期,则将时间返回为1/1/1970 00:00:00 GMT

    【讨论】:

      【解决方案2】:

      简单的日期显示功能:

       echo date('m-d-Y H:i:s',strtotime($date_variable));
      

      【讨论】:

        【解决方案3】:

        如果要在数据库中格式化(假设是 MySQL):

        SELECT DATE_FORMAT(t.column, '%M %D, %Y'), --October 14, 2009
               DATE_FORMAT(t.column, '%h:%i %p') --hh:mm am/pm
          FROM TABLE t
        

        ...或者如果您想在 PHP 中进行转换:

        echo date('F d, Y h:mA', strtotime('2009-10-14 19:00:00'));
        

        参考:

        【讨论】:

          【解决方案4】:

          最好的和清晰的

          $res_tbl ='select create_date from tbl_comments';
          while($table =mysql_fetch_array($res_tbl))
          {
            echo date('F d, Y h:mA', strtotime($table['create_date']));
            echo "<br>";
          }
          

          输出:

          January 10, 2009 21:12
          March 21, 2001  12:04
          

          【讨论】:

            【解决方案5】:

            您可能想查看strtotime

            【讨论】:

              猜你喜欢
              • 2013-06-25
              • 1970-01-01
              • 1970-01-01
              • 2018-10-13
              • 2013-06-02
              • 1970-01-01
              • 1970-01-01
              • 2023-03-29
              • 1970-01-01
              相关资源
              最近更新 更多