【问题标题】:Convert Date to Day and Month (3 Letters)将日期转换为日和月(3 个字母)
【发布时间】:2020-06-03 22:31:16
【问题描述】:

我将每个帖子的日期存储在数据库的date 字段中。格式为 DD/MM/YYYY(例如:24/12/2013)。字段为 VARCHAR(50)

我想在页面(博客列表页面)中打印日期和月份。即像“24 DEC”(不需要年份)

实现它的最佳方法是什么

注意:我使用的是 PHP

【问题讨论】:

  • 最好的建议是更正您的列类型。始终将日期保存为 DATE 类型数据。然后,您可以享受 MySQL 提供的所有功能优势,并避免在 php.ini 中进行额外处理。 stackoverflow.com/a/4616848/2943403

标签: php date


【解决方案1】:

请开始在 DATE 字段中以 Y-m-d 格式存储日期。您和我们的生活会轻松很多。

在那之前,使用这个 php 解决方案:

$dt = DateTime::createFromFormat('!d/m/Y', '24/12/2013');
echo strtoupper($dt->format('j M')); # 24 DEC

demo

或者mysql解决方案:

SELECT STR_TO_DATE('24/12/2013','%d/%m/%Y')

【讨论】:

    【解决方案2】:

    试试这个:你需要反转日期,即 Y/m/d 格式。

     $date = strtotime('2013/12/24');
     echo date('j M ', $date);
    

    输出:

    24 Dec
    

    PHP Date Manual

    【讨论】:

      【解决方案3】:

      应该这样做:

      echo date_format($date,"d M");
      

      【讨论】:

        【解决方案4】:

        你可以使用分割字符串

        $dateArray = explode("/", $date);
        

        你会拥有

        $year = $dateArray[2];
        $month = $dateArray[1];
        $day = $dateArray[0];
        

        也许更好的方法是将 PHP 时间戳存储在 dB 日期字段中。然后您还可以从一个字符串中提取小时、分钟和秒。

        【讨论】:

          【解决方案5】:

          $dt = DateTime::createFromFormat('!d/m/Y', '18/10/2016');

          echo strtoupper($dt->format('d M'));

          【讨论】:

            【解决方案6】:

            只需这样做

            echo date('M j,Y');
            

            它会给出结果

            Jun 3,2020
            

            【讨论】:

              猜你喜欢
              • 2020-06-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-09-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多