【问题标题】:is there any simple way to format the date in php?有没有简单的方法来格式化php中的日期?
【发布时间】:2011-05-11 00:31:58
【问题描述】:

有没有任何函数可以在 PHP 中将这种 '5/1/2011' 日期格式化为 '2011,1,5' 到 this

【问题讨论】:

    标签: php date format


    【解决方案1】:

    可以使用PHPdate函数

    在您的情况下,这应该可以解决问题:

    $date = '5/1/2011';
    echo date('Y,j,n', strtotime($date));
    

    【讨论】:

    • 这是最好的答案,因为你真的应该格式化日期对象,而不仅仅是替换字符串。
    • 但只有在 strtotime 可以确定日期应该是什么时才有效。在“1/2/3”上试一试,看看是否适合您。 strtotime 很有用,但它不是 THE 最佳解决方案。
    【解决方案2】:

    您可以通过regular expression:

    $new_str = preg_replace('#(\d+)/(\d+)/(\d+)#', '$3,$2,$1', $str);
    

    【讨论】:

      【解决方案3】:
      <?
      function transdate($date) {
           $dates = explode("/", $date);
           return $dates[2].",".dates[1].",".dates[0];
      }
      ?>
      

      【讨论】:

        【解决方案4】:
        $date = implode(',', array_reverse(explode('/', '5/1/2011')));
        

        【讨论】:

          【解决方案5】:

          从 PHP 5.2 开始,一种更新更好的方法是 DateTime class:

          $datetime = DateTime::createFromFormat('n/j/Y', '5/1/2011');
          echo $datetime->format('Y,j,n');
          

          See it in action

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-02
            • 2023-03-09
            • 2012-06-02
            • 2019-05-19
            • 1970-01-01
            • 2018-08-29
            相关资源
            最近更新 更多