【问题标题】:How to get AM/PM from a datetime in PHP [duplicate]如何从 PHP 中的日期时间获取 AM/PM [重复]
【发布时间】:2011-03-25 04:46:13
【问题描述】:

我在变量中有一个日期时间。我的格式是08/04/2010 22:15:00。我想像10.15 PM 一样显示这个。如何在 PHP 中做到这一点?

【问题讨论】:

标签: php date formatting


【解决方案1】:

您需要将其转换为 UNIX 时间戳(使用 strtotime),然后使用 date 函数转换回您需要的格式。

例如:

$currentDateTime = '08/04/2010 22:15:00';
$newDateTime = date('h:i A', strtotime($currentDateTime));

【讨论】:

    【解决方案2】:
    $dateString = '08/04/2010 22:15:00';
    $dateObject = new DateTime($dateString);
    echo $dateObject->format('h:i A');
    

    【讨论】:

      【解决方案3】:

      使用 strtotime() 将日期设为 UNIX 时间戳。

      对于输出,查看date() 的各种选项。

      $timestamp = strtotime("08/04/2010 22:15:00");
      date("h.i A", $timestamp);
      

      【讨论】:

      • 不太确定日期调用中的大写“H”(奇怪的是上午/下午有 24 小时)。是的,我在狡辩,因为你已经打败了我。再次。 :-)
      【解决方案4】:
      <?php 
      $dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata')); 
      echo $dateTime->format("d/m/y  H:i A"); 
      ?>
      

      你可以用它来显示这样的日期

      22/06/15 10:46 AM
      

      【讨论】:

      • H:i A 应该是小写的 h
      【解决方案5】:

      像这样:

      $date = '08/04/2010 22:15:00';
      echo date('h:i A', strtotime($date));
      

      结果:

      10:15 PM
      

      更多信息:

      【讨论】:

        【解决方案6】:

        对于不同格式的灵活性,请使用:

        $dt = DateTime::createFromFormat('m/d/Y H:i:s', '08/04/2010 22:15:00');
        echo $dt->format('g:i A')
        

        查看php manual 了解其他格式选项。

        【讨论】:

          【解决方案7】:

          PHP 代码:

          date_default_timezone_set('Asia/Kolkata');
          $currentDateTime=date('m/d/Y H:i:s');
          $newDateTime = date('h:i A', strtotime($currentDateTime));
          echo $newDateTime; 
          

          输出:下午 05:03

          【讨论】:

            【解决方案8】:
            $currentDateTime = $row['date'];
            echo $newDateTime = date('l jS \of F Y h:i:s A', strtotime($currentDateTime));
            

            【讨论】:

              【解决方案9】:

              对于(PHP >= 5.2.0):

              您可以使用 DateTime 类。但是,您可能需要更改日期格式。没试过你的。 以下日期格式肯定会起作用:YYYY-MM-DD HH-MM-SS

              $date = new DateTime("2010-04-08 22:15:00");
              echo $date->format("g"). '.' .$date->format("i"). ' ' .$date->format("A");
              
              //output
              //10.15 PM
              

              但是,在我看来,不建议使用. 作为10.15 的分隔符,因为您的用户可能会混淆这是十进制数字还是时间格式。最常见的方式是使用10:15 PM

              【讨论】:

                【解决方案10】:

                AM/PM 实时解决方案的完美答案

                <?php echo date('h:i A', time())?>
                

                【讨论】:

                  【解决方案11】:

                  这很容易。假设您已经在数据库表中查询了一个类型为“timestamp”的字段(dateposted),并且您想要显示它、格式化它并且还有 AM/PM,那么您需要做的就是如下所示。

                       <?php
                       echo date("F j, Y h:m:s A" ,strtotime($row_rshearing['dateposted'])); 
                  
                  
                      ?>
                  

                  注意:您的输出应该看起来像这样,具体取决于发布日期

                  2014 年 5 月 21 日下午 3:05:27

                  【讨论】:

                    【解决方案12】:

                    刚刚好A

                    {{ date('h:i A', strtotime($varname->created_at))}}
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-12-11
                      • 1970-01-01
                      • 1970-01-01
                      • 2010-10-04
                      • 1970-01-01
                      相关资源
                      最近更新 更多