我正在尝试将以下字符串: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()
。
答案 0 :(得分:0)
这样可以正常工作: -
$date = new \DateTime('2013-09-06 10:30pm GMT+1');
$date->setTimezone(new \DateTimeZone('UTC'));
var_dump($date);
有关日期字符串格式的详细信息,另请参阅http://php.net/date。
你的日期字符串的一个问题是'GMT + 1'部分,没有有效的日期字符串(希望其他人可以帮忙),所以很难使\ DateTime :: createFromFormat()工作在这种情况下。但是,DateTime构造函数在放置到自己的设备时似乎能很好地应对它。