我有以下方式的日期字符串:
输入:
$date = "Thu Jul 12 2012 11:03:36 GMT 0";
我如何使用正则表达式从“GMT”开始删除最后一句话。
输出:
Thu Jul 12 2012 11:03:36
尝试这个
$newdate = preg_replace("/GMT(.*)/i", "", $date)
$result = preg_replace('~\s+GMT.*$~', '', $date);
一种使用preg_replace
和使用pattern
(30 分钟正则表达式教程)的方法。
<?php
$string = 'Thu Jul 12 2012 11:03:36 GMT 0';
$pattern = '/GMT [0-9]*/';
$replacement = ' ';
echo preg_replace($pattern, $replacement, $string);
?>
输出
Thu Jul 12 2012 11:03:36
或爆炸 $string = explode('GMT', $string);
尝试这个,
$newdate = preg_replace('\sGMT(.*)', '', $date);
使用日期时间对象
$i = 'Thu Jul 12 2012 11:03:36 GMT 0';
$d = DateTime::createFromFormat('D M d Y H:i:s * *', $i);
echo $d->format('Y-m-d H:i:s'); # or whatever you need