php - 在 PHP 中解析 HTTP 'Last-Modified' 日期字符串

标签 php date date-formatting last-modified

我正在使用 FileAPI 获取文件的 HTTP header 上次修改时间,它返回以下字符串:

Fri Oct 25 2013 12:04:10 GMT+0100 (GMT Daylight Time)

然后将其发布到 PHP,我需要将其转换为合理的内容,最好是时间戳。在您建议之前,strtotime() 返回 FALSE

似乎无法在任何地方找到任何答案。

最佳答案

幸运的是,从 5.3.0 开始就有了 DateTime::createFromFormat() .虽然它无法解析尾随信息,但至少可以使用 + 说明符忽略它。您不需要该信息来创建时间戳,因为您已经拥有机器可解析的 GMT+0100

例子:

$str = "Fri Oct 25 2013 12:04:10 GMT+0100 (GMT Daylight Time)";
$fmt = 'D M d Y H:i:s O+';

$datetime = DateTime::createFromFormat($fmt, $str);
echo $datetime->getTimestamp();

输出:

1382699050

关于php - 在 PHP 中解析 HTTP 'Last-Modified' 日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428875/

相关文章:

php - 如何使用多维数组中的值对多维数组进行排序?

php - 重新计算 MySQL 表中的值

date - 使用 Coldfusion 获取每个月的每个星期二

php - 具有 PHP 日期格式的 MLA 样式月份缩写?

php - 当我在 php 中运行此分页页面演示时出现错误?

python - 如何在 Python 中添加日期和时间

java - 在java中的日期选择器上仅突出显示当月的当前日期

sql-server - 在 SQL Server 中构建 ISO 日期的最佳方法

laravel-5 - Laravel Eloquent 地将日期时间戳 GLOBAL 更改为 d-m-Y H :i:s

php - 使用 2 个不同的数据在图表 laravel 中显示