Php 将伦敦时间转换为中央时间

Php 将伦敦时间转换为中央时间,php,date,datetime,Php,Date,Datetime,试图将伦敦时间改为中央时间。以下是我正在使用的脚本: $timestamp = date('Y-d-m H:i:s'); $dt = new DateTime($timestamp, new DateTimeZone('Europe/London')); echo $dt->format('r') . PHP_EOL; $dt->setTimezone(new DateTimeZone('America/Chicago')); echo $dt->format('r') .

试图将伦敦时间改为中央时间。以下是我正在使用的脚本:

$timestamp = date('Y-d-m H:i:s');

$dt = new DateTime($timestamp, new DateTimeZone('Europe/London'));
echo $dt->format('r') . PHP_EOL;

$dt->setTimezone(new DateTimeZone('America/Chicago'));
echo $dt->format('r') . PHP_EOL;
我得到了这个错误:

致命错误:未捕获异常“exception”,消息为“DateTime::\u construct()[DateTime.-construct]:无法分析 位置6(9)处的时间字符串(2013-19-01 01:40:23):意外 中的字符 /home/filevanc/public_html/scripts/cpa/control/update.php:7堆栈 跟踪:#0 /home/filevanc/public_html/scripts/cpa/control/update.php(7): DateTime->_构造('2013-19-01 01:4…',对象(DateTimeZone))#1 {main}被抛出 /第7行的home/filevanc/public_html/scripts/cpa/control/update.php


我看不出意外字符是什么,因为时间戳在我看来很好。

除非突然有19个月,否则您的日期无效。)

你想这样做:

$timestamp = date('Y-m-d H:i:s');
或者,更好的做法是:

// $timestamp = date('Y-m-d H:i:s'); ,- don't need this anymore

$dt = new DateTime(null, new DateTimeZone('Europe/London'));

只为任何可能偶然发现这一点的人。我将$timestamp变量改为:date('Y-m-dh:I:s')