转换" 2013-09-06 GMT + 1"字符串到UTC中的UTC DateTIme对象

时间:2013-12-06 14:37:17

标签: php string parsing datetime utc

我正在尝试将以下字符串:2013-09-06 10:30pm GMT+1转换为PHP DateTime对象。在此过程中,它还必须将其转换为UTC。我尝试了下面的代码,但显然这是不正确的,但我真的不知道从哪里开始:

$datetime = DateTime::createFromFormat('YY-MM-DD HH-IIm tzcorrection', '2013-09-06 10:30pm GMT+1', new DateTimeZone('UTC'));

我知道那里有很多类似的话题。但它们不包括此格式和转换为UTC。由于转换为UTC,我认为无法使用strtotime()

1 个答案:

答案 0 :(得分:0)

这样可以正常工作: -

$date = new \DateTime('2013-09-06 10:30pm GMT+1');
$date->setTimezone(new \DateTimeZone('UTC'));
var_dump($date);

See it working;

有关日期字符串格式的详细信息,另请参阅http://php.net/date

你的日期字符串的一个问题是'GMT + 1'部分,没有有效的日期字符串(希望其他人可以帮忙),所以很难使\ DateTime :: createFromFormat()工作在这种情况下。但是,DateTime构造函数在放置到自己的设备时似乎能很好地应对它。