带有时区的 if-modified-since 的 PHP 时间戳
Posted
技术标签:
【中文标题】带有时区的 if-modified-since 的 PHP 时间戳【英文标题】:PHP timestamp for if-modified-since with timezone 【发布时间】:2015-12-18 22:37:07 【问题描述】:$if_modified_since = date('Y-m-d H:i:s');
时间戳是使用服务器的默认时区保存的,在我的例子中是EST
。我需要发送带有if-modified-since
标头的CURL
请求。
curl_setopt($ch, CURLOPT_HTTPHEADER, array("If-Modified-Since: ".gmdate('D, d M Y H:i:s \G\M\T',$if_modified_since)));
我将EST
中的时间转换为GMT
的最佳方式是什么?还有一种方法可以通过检查服务器时区使其完全通用(而不仅仅是在EST
中进行硬编码)?
【问题讨论】:
【参考方案1】:这对我有用:
$d = DateTime::createFromFormat('Y-m-d H:i:s', $if_modified_since, new DateTimeZone(ini_get('date.timezone')));
curl_setopt($curl, CURLOPT_HTTPHEADER, array("If-Modified-Since: ".gmdate('D, d M Y H:i:s \G\M\T',$d->getTimestamp())));
【讨论】:
以上是关于带有时区的 if-modified-since 的 PHP 时间戳的主要内容,如果未能解决你的问题,请参考以下文章
Cloudfront如何每次都避免If-Modified-Since标头请求
如何防止 Web 浏览器对缓存文件发出“If-Modified-Since”请求?
java 带有时区的Java 8日期时间示例和可用时区的打印列表
如何在 python 中使用带有 datetime 对象的时区?