我有一个正则表达式可以将日期从 "dd/mm/yyyy HH:ii:ss" 重新格式化为 YYYY-MM-DD HH:II:SS 这很好,但我也会使用它来验证日期(如果没有提供小时数)。
也许有一种方法可以为替换提供默认值,但我没有找到。
$regex = '#^(\d{2})/(\d{2})/(\d{4})(?: (\d{2}):(\d{2})(?::(\d{2}))?)?$#';
$replace = '$3-$2-$1 $4:$5:00';
$str = '07/11/2013 20:30';
$val = preg_replace($regex, $replace, $str);
echo $val; // "2013-11-07 20:30:00"
$str = '07/11/2013';
$val = preg_replace($regex, $replace, $str);
echo $val; // "2013-11-07 ::00"