我得到一个字符串,其中两个日期位于两个括号之间,并用逗号分隔:
[2016-09-07],[2016-11-16]
如何恢复这些日期并将它们分为两个变量$startDate
和$endDate
?
答案 0 :(得分:2)
假设你以字符串形式获得,你可以使用explode
$myStartString = "[2016-09-07],[2016-11-16]";
如果您需要,可以这样删除括号
$remove = ['[',']'];
$myString = str_replace( $remove, "", myStartString);
然后
$myArray = explode(',' $myString);
$startDate = $myArray[0];
$endDate = $myArray[1];
或者没有括号:
$myString = '2016-09-07,2016-11-16';
$myArray = explode(',', $myString);
$startDate = $myArray[0];
$endDate = $myArray[1];
echo $startDate. ' '.$endDate ;
但如果你有一个规范化的数据库,那就更好了
答案 1 :(得分:2)
使用explode()
和str_replace()
,您可以获得所需的2个日期。
$dum_column = '[2016-09-07],[2016-11-16]';
$t = explode(',', $dum_column);
$startdate = str_replace(array('[',']'), '', $t[0]);
$enddate = str_replace(array('[',']'), '', $t[1]);
或trim()
也可以使用
$dum_column = '[2016-09-07],[2016-11-16]';
$t = explode(',', $dum_column);
$startdate = trim($t[0], '[]');
$enddate = trim($t[0], '[]');
答案 2 :(得分:2)
试试这个
Preg_match_all("/(\d{4}-\d{2}-\d{2})/", $myString, $match);
$start = $match[1][0];
$end = $match[1][1];