【问题标题】:Issue with changing date format inline with PHP使用 PHP 更改日期格式的问题
【发布时间】:2017-12-08 03:42:03
【问题描述】:

我正在从数据库中提取日期,其格式为 2017-12-07。这就是我显示日期的方式,但是,我想显示的是 17 年 12 月 7 日。

我试过了。

echo "<td>" . date_format($row['returndate'],'M d, y') . "</td>";

我的结果是空的。我已经在 MYSQLI 行中成功更改了日期格式,但是,我想用 PHP 来做。

更新

我很抱歉,我似乎把事情看得太简单了。下面修复了它。

date('M d, y', strtotime($row['returndate']))

我猜你必须在日期之前做 strtotime。

【问题讨论】:

    标签: php mysql date


    【解决方案1】:

    试试这个

    echo "<td>" . date('M d, y', strtotime($row['returndate'])) . "</td>";
    

    输出

    Dec 07, 17 
    

    【讨论】:

    • 这就是我最终修复它的方式。我想你回答时我正在输入我的编辑。感谢您的快速回复。
    【解决方案2】:

    date_format 需要一个 DateTime 对象。在你的情况下,你可以简单地使用(没有类DateTime):

    print date('M d, y', strtotime('2017-12-07'));
    Dec 07, 17
    

    或者如果你想完全使用DateTime,你可以试试:

    php > $d = new DateTime('2017-12-07');
    php > print $d->format('M d, y');
    Dec 07, 17
    

    【讨论】:

      【解决方案3】:

      你应该使用 php DateTime 类:

      $date = new DateTime($row['returndate']);
      echo $date->format('M d, y');
      

      【讨论】:

        【解决方案4】:

        你可以直接传递日期, 首先创建日期对象,然后将其传递给 date_format 例如:

        $date = date_create($row['returndate']);
        echo "<td>" . date_format($date,'M d, y') . "</td>";
        

        输出

        Dec 07, 17
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-08-07
          • 1970-01-01
          • 1970-01-01
          • 2020-11-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多