php strtotime 难题 - 夏令时?

标签 php time strtotime dst

PHP代码

$t = strtotime( '2012-09-21T03:00:00+00:00 America/Chicago' );
$t2 =  date('c',$t);
echo $t2; 

输出

 2012-09-20T23:00:00-04:00

问题

芝加哥的时区是 UTC-5,为什么我的结果不是 2012-09-20T22:00:00-05:00

最佳答案

strtotime 转换为 Unix 时间戳。 date 将使用当前时区将时间戳转换为字符串。请先尝试设置您的时区。

$t = strtotime( '2012-09-21T03:00:00+00:00 America/Chicago' );
date_default_timezone_set('America/Chicago');
$t2 =  date('c',$t);
echo $t2;

关于php strtotime 难题 - 夏令时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12521973/

相关文章:

php - 如何查询重复项?

algorithm - 如何设计时间复杂度为 O(n log n) 的搜索算法?

用于获取日期范围内所有星期一的php函数

linux - 查找时差的命令

java - 如何将 java.sql.Date 和 java.sql.Time 合并到 java.util.Date?

PHP 字符串到时间错误

php - fopen 中的 w+ 模式?

javascript - 如何让我的滑动条通过刷新保持位置

php - JSON:从另一个域检索 JSON 文件