【问题标题】:Can not format date as per requirement using PHP无法使用 PHP 根据要求格式化日期
【发布时间】:2017-01-16 05:01:21
【问题描述】:

我正在尝试使用 PHP 格式化现有日期,但它没有按预期工作。我的代码如下:

$edate="03/12/2016 12:01:43 PM";
$date=date('m/d/Y H:i:s A',strtotime($edate));
echo $date.'<br/>';

这里我需要先显示月份,像这种格式:mm/dd/yyyy 但我的代码给了我以下结果:

2016 年 3 月 12 日下午 12:01:43

而我应该得到这样的结果:

2016 年 12 月 3 日

【问题讨论】:

    标签: php date strtotime


    【解决方案1】:

    将输入日期的/ 替换为-

    $edate="2/12/2016 12:01:43 PM";
    $_edate = str_replace('/', '-', $edate);
    $date=date('m/d/Y H:i:s A',strtotime($_edate));
    echo $date.'<br/>';
    

    【讨论】:

      【解决方案2】:

      根据date function,试试这个:

      date("m/d/Y", strtotime(str_replace('/', '-', $edate)));
      

      【讨论】:

      • 我已经提到过月份应该排在第一位。请查看我的帖子。
      【解决方案3】:

      http://php.net/manual/en/datetime.format.php

       $edate="03/12/2016 12:01:43 PM";   
       $date = new DateTime($edate);
       echo $date->format('m/d/Y');
      

      【讨论】:

        【解决方案4】:

        只需使用DateTime,然后您就可以将日期格式化为任何格式。

        首先您必须使用createFromFormat() 转换为您的日期格式,然后使用format() 转换为任何日期格式

        试试这个

        <?php
            $edate="03/12/2016 12:01:43 PM";
            try {
        
            echo DateTime::createFromFormat('d/m/Y h:i:s A', $edate)->format('m/d/Y');
            } catch (Exception $e) {
                echo "error";
                exit(1);
            }
        ?>
        

        【讨论】:

          猜你喜欢
          • 2023-03-29
          • 1970-01-01
          • 2011-12-11
          • 2015-07-19
          • 1970-01-01
          • 1970-01-01
          • 2021-03-22
          • 1970-01-01
          • 2012-07-24
          相关资源
          最近更新 更多