【问题标题】:PHP date conversion dd [th/st/rd] / month / yyyyPHP日期转换dd[th/st/rd]/month/yyyy
【发布时间】:2012-11-30 07:44:53
【问题描述】:

我让我的用户以这种格式输入日期:- mm/dd/yyyy (11/21/2012)

我的 PHP 脚本将日期转换为以下格式:- dd-Month-yyyy (21-November-2012)

我这样做是使用 :-

$new_date = date('d-F-Y', strtotime($user_date));

我怎样才能得到这种格式的日期:- 21st November 2012

谢谢

【问题讨论】:

标签: php date


【解决方案1】:

您可以使用S 字母如下:

$new_date = date('jS F Y', strtotime($user_date));

检查manual

【讨论】:

  • 如果您发现我的答案正确,请在答案的分数下标记检查。
  • 如果您希望日期中出现“1st”而不是“01st”,最好使用j$new_date = date('jS F Y', strtotime($user_date));
【解决方案2】:

你可以这样做:

<?php echo date('dS M. Y');?>

【讨论】:

    【解决方案3】:

    它会像你期望的那样输出

    $my_date = '2016-01-01';
    
    echo date('F jS, Y', strtotime($my_date));
    # January 1st, 2016
    

    dS 也会预先添加 0

    echo date('F dS, Y', strtotime($my_date));
    # January 01st, 2016
    

    【讨论】:

      【解决方案4】:
      $new_date = date('jS F Y', strtotime($date));
      

      S - 日期的英文序数后缀,2 个字符 (stndrdth。适用于 j

      【讨论】:

        【解决方案5】:

        你可以使用类似的东西:

        echo date('l, F jS');
        

        或者甚至对 HTML 有点花哨:

        echo date('l, F j<\s\u\p>S</\s\u\p>');
        

        【讨论】:

        • 谢谢.. 带有转义斜线的上标非常方便。
        【解决方案6】:
        **My Date = 22-12-1992**
        <?php
            $mydate = "22-12-1992";
            $newDate = date("d M Y", strtotime($mydate));
            $new_date = date('dS F Y', strtotime($newDate));
            echo $new_date;
        ?>
        
        **OutPut = 22nd December 1992**
        

        【讨论】:

          【解决方案7】:

          $date = date_create('09-22-2012');
          echo $date->format('d S F Y');
          通过这段代码,你会得到你的愿望

          更多信息您也可以访问http://php.net/manual/en/datetime.formats.date.php

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-10-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-26
            • 2016-10-19
            相关资源
            最近更新 更多