【问题标题】:Convert RFC 1123 date to timestamp in PHP在 PHP 中将 RFC 1123 日期转换为时间戳
【发布时间】:2010-12-09 00:28:28
【问题描述】:

将 RFC 1123 日期(来自 HTTP-Expiration-header)转换为 UNIX 时间戳的最简单或最优雅的方法是什么?

示例:2005 年 8 月 14 日星期日 16:13:03 GMT

我真的必须'substr'一切吗?

【问题讨论】:

    标签: php date timestamp rfc1123


    【解决方案1】:

    无聊的方法:

                $datestring = 'Sun, 14 Aug 2005 16:13:03 GMT';
                $months = array('Jan' => 1,
                                'Feb' => 2,
                                'Mar' => 3,
                                'Apr' => 4,
                                'May' => 5,
                                'Jun' => 6,
                                'Jul' => 7,
                                'Aug' => 8,
                                'Sep' => 9,
                                'Oct' => 10,
                                'Nov' => 11,
                                'Dec' => 12,
                            );
    
                $date = explode(' ', $datestring);
    
                // Validity check
                if(count($date) != 6) { return; }
    
                $time = explode(':', $date[4]);
    
                // Validity check
                if(count($time) != 3) { return; }                
                if(! isset($months[$date[2]])) { return; }
    
                // Convert to time
                $timestamp= gmmktime($time[0], $time[1], $time[2], $months[$date[2]], $date[1], $date[3]);
    

    【讨论】:

      【解决方案2】:

      strtotime 可以读取该格式。

      【讨论】:

      • 谢谢。嗯,真不敢相信我没有先尝试过,strtotime 几乎是神奇的......
      猜你喜欢
      • 2015-11-11
      • 2017-01-09
      • 1970-01-01
      • 2012-10-05
      • 2013-12-17
      • 2013-09-12
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多