【问题标题】:Convert timestamp to readable date/time PHP将时间戳转换为可读的日期/时间 PHP
【发布时间】:2011-07-09 23:16:41
【问题描述】:

我在会话中存储了一个时间戳 (1299446702)。

如何在 PHP 中将其转换为可读的日期/时间?我试过srttotime等都无济于事。

【问题讨论】:

    标签: php


    【解决方案1】:

    使用 PHP 的 date() 函数。

    例子:

    echo date('m/d/Y', 1299446702);
    

    【讨论】:

    【解决方案2】:

    strtotime 将日期字符串转换为时间戳。你想做相反的事情,那就是date。典型的mysql日期格式是date('Y-m-d H:i:s');查看手册页其他字母代表什么。

    如果你有一个你想要使用的时间戳(显然你这样做了),它是date() 的第二个参数。

    【讨论】:

    • 请注意,我通过的当前日期如下:echo date('m/d/Y', strtotime($current_date_variable);
    • 没有命令将时间戳转换为其日期时间标准化,因为我将日期时间转换为 unix 时间戳,但在我的数据库中它仍然是日期时间,我会尝试这个,但我仍然觉得那里很奇怪没有具体的命令
    【解决方案3】:

    我刚刚在 Rocket 的答案中添加了 H:i:s 以获取时间和日期。

    echo date('m/d/Y H:i:s', 1299446702);
    

    输出:03/06/2011 16:25:02

    【讨论】:

      【解决方案4】:
      $timestamp = 1465298940;
      $datetimeFormat = 'Y-m-d H:i:s';
      
      $date = new \DateTime();
      // If you must have use time zones
      // $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
      $date->setTimestamp($timestamp);
      echo $date->format($datetimeFormat);
      

      结果:2016-06-07 14:29:00

      其他时区:

      【讨论】:

        【解决方案5】:

        如果你使用的是PHPdate(),你可以使用这段代码来获取日期、时间、秒等。

        $time = time();               // you have 1299446702 in time
        $year = $time/31556926 % 12;  // to get year
        $week = $time / 604800 % 52;  // to get weeks
        $hour = $time / 3600 % 24;    // to get hours
        $minute = $time / 60 % 60;    // to get minutes
        $second = $time % 60;         // to get seconds
        

        【讨论】:

        • 闰年和第二个怎么样...?
        • $year = date('Y', $time)
        【解决方案6】:

        如果有人想将时间戳直接转换为 DateTime 对象,有一个简单的单行:

        $timestamp = 1299446702;
        $date = DateTime::createFromFormat('U', $timestamp);
        

        在@sromero 注释之后,当传递 unix 时间戳时,时区参数(DateTime::createFromFormat() 中的第三个参数)被忽略,因此下面的代码是不必要的。

        $date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored
        

        您可以查看DateTime::createFromFormat 的 PHP 手册以获取更多信息和选项。

        【讨论】:

        • 只是对您最后一行代码的评论:根据您链接的手册页:“注意:当时间参数包含 UNIX 时间戳(例如 946684800 ) 或指定时区(例如 2010-01-28T15:00:00+02:00)。"
        • @sromero 你说得对。在这种情况下,时区参数被忽略。
        【解决方案7】:
        $epoch = 1483228800;
        $dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
        echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00
        

        在上面的例子中“r”和“Y-m-d H:i:s”是PHP日期格式,其他例子:

        格式化输出

        r              -----    Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
        c              -----    2017-03-15T12:00:00+01:00 (ISO 8601 date)
        M/d/Y          -----    Mar/15/2017
        d-m-Y          -----    15-03-2017
        Y-m-d H:i:s    -----    2017-03-15 12:00:00
        

        【讨论】:

          【解决方案8】:

          试试看。

          <?php
           $timestamp=1333342365;
           echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
           ?>
          

          【讨论】:

            【解决方案9】:

            试试这个:

            echo date('m/d/Y H:i:s', 1541843467);
            

            【讨论】:

            • 您好!似乎已经提出了这个答案;查看最佳答案。
            【解决方案10】:

            你可以试试这个:

               $mytimestamp = 1465298940;
            
               echo gmdate("m-d-Y", $mytimestamp);
            

            输出:

            06-07-2016

            【讨论】:

              【解决方案11】:

              除非您需要自定义日期和时间格式,否则使用built-in date time format constants 之一会更容易、更不容易出错且更具可读性:

              echo date(DATE_RFC822, 1368496604);
              

              【讨论】:

              • 这应该是最佳答案。
              【解决方案12】:

              echo date("l M j, Y",$res1['timep']);
              这对于将 unix 时间戳与日期一起转换为可读日期非常有用。例子: 2016 年 7 月 7 日星期四

              【讨论】:

              • 类似的答案已经发布,您的答案中信息的优点是什么?
              【解决方案13】:
              echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2013-12-17
                • 2013-09-12
                • 2012-08-28
                • 1970-01-01
                相关资源
                最近更新 更多