将日期选择器日期时间转换为php日期时间

将日期选择器日期时间转换为php日期时间,php,Php,目前我正在使用支持日期和时间的jquery日期选择器 返回值为string 返回值 “2015年4月10日星期五12:00:00 GMT+0800(马来半岛标准时间)” 我想把上面的字符串转换成php日期时间来存储到数据库中 我只需要日期、时间和时区。首先您必须删除信息,这会中断转换: preg_replace('/( \(.*)$/','','Fri Apr 10 2015 12:00:00 GMT+0800 (Malay Peninsula Standard Time)'); 结果: “2

目前我正在使用支持日期和时间的jquery日期选择器

返回值为string

返回值

“2015年4月10日星期五12:00:00 GMT+0800(马来半岛标准时间)”

我想把上面的字符串转换成php日期时间来存储到数据库中


我只需要日期、时间和时区。

首先您必须删除信息,这会中断转换:

preg_replace('/( \(.*)$/','','Fri Apr 10 2015 12:00:00 GMT+0800 (Malay Peninsula Standard Time)');
结果:

“2015年4月10日星期五12:00:00 GMT+0800”

使用
strotime()
可以转换为时间戳的内容:

我是GMT+2,所以我收到了
2015-04-10 06:00:00 GMT+02:00
。进一步的格式设置取决于所需的
date()
格式设置

如果你想保持原来的时间,这里有个窍门:

$datetime = "Fri Apr 10 2015 12:00:00 GMT+0800 (Malay Peninsula Standard Time)";
$datetime =  preg_replace('/( \(.*)$/','',$datetime);

$date = new DateTime($datetime);
$zone = $date->getTimezone();

echo $date->format('Y-m-d H:i:s') . ' GMT' .  $zone->getName();

给出了
2015-04-10 12:00:00 GMT+08:00

那么你看了吗?@MarkBaker我已经试过了,但是出现了意外错误“CreateFromFormat”,那么你运行的是什么版本的PHP?
createFromFormat()
方法从PHP 5.3.0开始就可用
$datetime = "Fri Apr 10 2015 12:00:00 GMT+0800 (Malay Peninsula Standard Time)";
$datetime =  preg_replace('/( \(.*)$/','',$datetime);

$date = new DateTime($datetime);
$zone = $date->getTimezone();

echo $date->format('Y-m-d H:i:s') . ' GMT' .  $zone->getName();