Kho*_*oly 0 php regex datetime
我想从格式的字符串中获取DateTime 'YYYY-MM-DD hh:mm:ss.
要清除:我从API获取一个字符串,到现在为止字符串如下所示:
{ts '2014-09-02 14:42:49'}
Run Code Online (Sandbox Code Playgroud)
但是字符串可以改变,所以我不会只将字符串缩短到那DateTime就是为什么我想通过RegEx接收它.因为字符串可以根据需要进行更改,只要日期格式保持不变,我就会得到正确的结果.
我发现这个问题有一个解决方案,并尝试将它用于我的情况.RegEx是这样的:
$regEx = "(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})";
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
$regEx = "(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})";
Run Code Online (Sandbox Code Playgroud)
它正在regexr.com上工作,但我不能让它来处理我的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);
Run Code Online (Sandbox Code Playgroud)
但是var_dump提供了一个空阵列.
我如何定义RegEx以便它正在使用preg_match?
PHP正则表达式需要delimiters,而且参数的顺序preg_match也是错误的.
$regEx = '/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/';
preg_match($regEx, $details['date'], $result);
var_dump($result);
Run Code Online (Sandbox Code Playgroud)
如果$details['date']只是日期时间格式字符串,您可以考虑使用DateTime类.
$datetime = new DateTime($details['date']);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4158 次 |
| 最近记录: |