2

我有以下方式的日期字符串:

输入:

$date = "Thu Jul 12 2012 11:03:36 GMT 0";

我如何使用正则表达式从“GMT”开始删除最后一句话。

输出:

Thu Jul 12 2012 11:03:36
4

5 回答 5

4

尝试这个

$newdate = preg_replace("/GMT(.*)/i", "", $date)
于 2012-09-14T06:34:43.050 回答
3
$result = preg_replace('~\s+GMT.*$~', '', $date);
于 2012-09-14T06:33:20.307 回答
0

一种使用preg_replace和使用pattern30 分钟正则表达式教程)的方法。

<?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);

于 2012-09-14T06:47:33.177 回答
0

尝试这个,

$newdate = preg_replace('\sGMT(.*)', '', $date);
于 2012-09-14T06:39:38.280 回答
0

使用日期时间对象

$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
于 2012-09-14T06:42:56.560 回答