我需要格式化数组中的日期-但是数组中的日期没有作为日期时间保存在数据库中或类似的内容中..我从服务器上获取了日期并将其切出.
所以我需要使用preg_replace或str_replace
到目前为止,我尝试使用str_replace进行的操作:
$reverse_date = str_replace( '[', '' ,$reverse_date);
$reverse_date = str_replace( ']', '' ,$reverse_date);
$reverse_date = str_replace( '/', '.' ,$reverse_date);
但我不想为此使用三行.
如果我print_r这个,我会得到:2015年10月12日:01:10:43 0200
在它看起来像这样之前:[12 / Oct / 2015:00:37:29 0200]
所以没关系!但是我仍然不想为此使用三行,但是我不理解preg_replace语法
我想要以下输出:
12.Oct.2015(space)01:10:43 +0200
解决方法:
如您所说,您正在从以下格式的数组中获取日期
[12/Oct/2015:00:37:29 +0200]
因此,除了使用str_replace或preg_replace之外,您还可以简单地使用PHP的DateTime :: createFromFormat函数,如下所示:
$date = DateTime::createFromFormat("[d/M/Y:H:i:s P]","[12/Oct/2015:00:37:29 +0200]");
echo $date->format('d.M.Y H:i:s P');//12.Oct.2015 00:37:29 +02:00