我需要从此字符串中提取日期和时间:some_report_20161005_1530.xml
,以便我可以将其重新格式化为更易于使用的格式。日期和时间会因文件而异,但始终保持以下格式:some_report_{year}{month}{day}_{24hr time}.xml
$test = 'some_report_20161005_1530.xml';
preg_match('(\d{4})(\d{2})(\d{2})_(\d{4})', $test, $test_matches);
print_r( $test_matches );
实现这一目标的最佳方法是什么?
(请原谅我对这些功能的无知或误用。我绝不是专家)
最佳答案
如果 some_report
不包含数字,则日期和时间部分已经可以在 DateTime 构造函数中正常工作,因此您可以使用更简单的正则表达式提取它们。
$date_time = new DateTime(preg_replace("/[^0-9]/", "", $your_string));
关于php - 如何从字符串中提取非分隔日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39924450/