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格式的字符串,它还包含一个,这就是我想要正则表达式的原因!