【问题标题】:How to get time and date from datetime stamp in PHP?如何从 PHP 中的日期时间戳获取时间和日期?
【发布时间】:2023-03-22 16:39:01
【问题描述】:

我有一个像8/29/2011 11:16:12 AM 这样的字符串。我想保存在像$dat = '8/29/2011'$tme = '11:16:12 AM'这样的变量中

如何做到这一点?可以举个例子吗?

【问题讨论】:

    标签: php date


    【解决方案1】:

    例如

    <?php
    $s = '8/29/2011 11:16:12 AM';
    $dt = new DateTime($s);
    
    $date = $dt->format('m/d/Y');
    $time = $dt->format('H:i:s');
    
    echo $date, ' | ', $time;
    

    http://docs.php.net/class.datetime


    编辑:为了保持 AM/PM 格式使用

    $time = $dt->format('h:i:s A');
    

    【讨论】:

      【解决方案2】:

      您可以使用 strtotime 函数,只要日期在 1970 年 1 月 1 日之后 -

      <?php
      
      $s = strtotime('8/29/2011 11:16:12 AM');
      
      $date = date('m/d/Y', $s);
      $time = date('H:i:s A', $s);
      
      ?>
      

      http://php.net/manual/en/function.strtotime.php

      strtotime 根据您传递给它的字符串创建一个 UNIX 时间戳。

      【讨论】:

        【解决方案3】:
        <?php
            $date = strtotime('8/29/2011 11:16:12 AM');
            $dat = date('m/d/y', $date);
            $tme = date('H:m:s A',$date);
        
        ?>
        

        有关 date() 函数的更多信息,请访问http://php.net/manual/en/function.date.php

        【讨论】:

          【解决方案4】:

          这可能不是最干净的方法,但您可以使用爆炸(注意这里根本没有验证)。它会比正确的日期操作更快。

          $str = '8/29/2011 11:16:12 AM';
          $dates = explode(' ', $str);
          $dat = $dates[0];
          $time = $dates[1];
          

          【讨论】:

            【解决方案5】:

            如果您的 PHP 版本足够新,请查看 date_parse() 及其返回的数组。然后,您可以使用相关条目格式化日期或时间部分。

            【讨论】:

              【解决方案6】:

              这应该可以解决问题:

              $mystring_datetime = ....;
              $dt = DateTime::createFromFormat('m/d/Y H:i:s A', $mystring_datetime );
              $d = $dt->format('m/d/Y');
              $t = $dt->format('H:i:s A');
              

              你也可以这样做,但这不是首选方式:

              $mystring_datetime = ....;
              list($date, $time) = explode(' ', $mystring_datetime, 2);
              

              现在,$date$time 具有适当的值...

              【讨论】:

                【解决方案7】:

                是的,这是可能的,完美的例子可以在这里找到http://php.net/manual/en/function.date.php

                祝你好运,

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2012-04-15
                  • 2013-06-16
                  • 2021-09-26
                  • 2017-12-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多