【发布时间】:2011-02-23 21:27:40
【问题描述】:
我有一个日期以这种格式存储在数据库中:
2011-02-23 13:00:00
我需要返回ISO8601格式,但是需要设置一个特定的时区(不一定是服务器的时区)我要返回的是这样的:
2011-02-23T13:00:00-0600
使用此代码:
echo date(DATE_ISO8601, strtotime("2011-02-23 13:00:00"));
我明白了:
2011-02-23T13:00:00+0000
有没有办法在 date 或 strtotime 函数中重置时区,还是我需要去掉最右边的 5 个字符并将所需的时区戳连接到剩余的日期/时间?
编辑添加: 尽管我确实接受了以下使用新 DateTime 和设置新 DateTimeZone 的解决方案,但如果您不需要继续重置时区,我找到了一种更简单的方法:
date_default_timezone_set('America/Chicago');
$startTime = date(DATE_ISO8601, strtotime("2011-02-23 13:00:00"));
【问题讨论】: