PHP获取每个preg_匹配的日期时间

PHP获取每个preg_匹配的日期时间,php,regex,datetime,Php,Regex,Datetime,我想从格式为'YYYY-MM-DD hh:MM:ss的字符串中获取日期时间 clearify:我从API中获得一个字符串,现在该字符串如下所示: {ts '2014-09-02 14:42:49'} 但是字符串可以更改,所以我不会将字符串缩短为只有DateTime,这就是我希望通过正则表达式接收它的原因。因为这样字符串就可以随意更改,只要日期格式保持不变,我就总能得到正确的结果 我找到了一个解决方案,并尝试将其用于我的案例。 正则表达式如下所示: $regEx = "(\\d{4})-(\\d

我想从格式为
'YYYY-MM-DD hh:MM:ss
的字符串中获取日期时间

clearify:我从API中获得一个字符串,现在该字符串如下所示:

{ts '2014-09-02 14:42:49'}
但是字符串可以更改,所以我不会将字符串缩短为只有
DateTime
,这就是我希望通过正则表达式接收它的原因。因为这样字符串就可以随意更改,只要日期格式保持不变,我就总能得到正确的结果

我找到了一个解决方案,并尝试将其用于我的案例。 正则表达式如下所示:

$regEx = "(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})";
我还尝试:

$regEx = "(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})";
它正在工作,但我无法让它在我的
PHP
代码上工作

整个代码如下:

        $result = array();
        $regEx = "(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})";
        preg_match($details['date'], $regEx, $result);
        var_dump($result);
但是
var_dump
提供了一个空数组


我必须如何定义正则表达式才能使用
preg\u match

PHP正则表达式需要
分隔符
,而且
preg\u match
的参数顺序是错误的

$regEx = '/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/';
preg_match($regEx, $details['date'], $result);
var_dump($result);

如果<代码> $Debug [日期] 只是日期时间格式字符串,则可以考虑使用<代码> DATETENT/<代码>类。

$datetime = new DateTime($details['date']);

PHP正则表达式需要
分隔符
,而且
preg_match
的参数顺序错误

$regEx = '/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/';
preg_match($regEx, $details['date'], $result);
var_dump($result);

如果<代码> $Debug [日期] 只是日期时间格式字符串,则可以考虑使用<代码> DATETENT/<代码>类。

$datetime = new DateTime($details['date']);

哇,你为什么要为此写正则表达式?当某些东西不起作用时,超过1:启用
error\u reporting
@Hanky웃我编辑了我的问题,不清楚我为什么需要it@mario我做了,但没有锁定错误。在检查错误日志之前,我不会问任何问题:)哇,你为什么要为此编写正则表达式?当某些东西不起作用时,超过1:启用
error\u reporting
@Hanky웃我编辑了我的问题,不清楚我为什么需要it@mario我做了,但没有锁定错误。在检查错误日志之前,我不会问任何问题:)谢谢你,以前从未使用过正则表达式,我犯了一个纯粹的初学者错误。我澄清了我的问题,$details['date']不仅仅是一个datetime格式的字符串,它还包含一个,这就是我想要正则表达式的原因!谢谢你,我以前从未用过正则表达式,纯粹是初学者的错误。我澄清了我的问题,$details['date']不仅仅是一个datetime格式的字符串,它还包含一个,这就是我想要正则表达式的原因!