First you have to remove information, that breaks conversion:
preg_replace('/( \(.*)$/','','Fri Apr 10 2015 12:00:00 GMT+0800 (Malay Peninsula Standard Time)');
Results in:
'Fri Apr 10 2015 12:00:00 GMT+0800'
what you can convert to timestamp using strtotime()
:
$datetime = "Fri Apr 10 2015 12:00:00 GMT+0800 (Malay Peninsula Standard Time)";
$datetime = preg_replace('/( \(.*)$/','',$datetime);
$timestamp = strtotime($datetime);
$date = date('Y-m-d H:i:s \G\M\TP', $timestamp);
I'm GMT+2 so I receive 2015-04-10 06:00:00 GMT+02:00
. Further formatting depents on your desired date()
formatting.
If you want to keep original time, heres the trick:
$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();
gives 2015-04-10 12:00:00 GMT+08:00
.