PHP将字符串转换为日期

时间:2015-03-11 15:50:37

标签: php regex date transform

我想知道怎么做!? 我有:

$datePeriod = '2010-09-13 - 2010-09-19' 

我需要输出:

09/13/10 - 09/19/10

我想用strtotime()和date()本机函数

来做
date('m/d/Y \- \ m/d/Y', strtotime($datePeriod));

但是strtotime()不直接接受这个字符串' 2010-09-13 - 2010-09-19'我需要切片,在给它strtotime()或date()之前修剪?这种正确的方法还是比使用变换操作更简单的方法?

2 个答案:

答案 0 :(得分:2)

您可以在preg_replace_callbackstrtotime使用date

$datePeriod = '2010-09-13 - 2010-09-19';
echo preg_replace_callback('/\b(\d{4}-\d{2}-\d{2})\b/', function($m) { 
               return date('m/d/y', strtotime($m[1])); }, $datePeriod);
//=> 09/13/10 - 09/19/10

答案 1 :(得分:1)

php日期格式化需要一个日期作为输入,因此,您需要拆分和修剪日期。 在这种情况下最简单的方法是使用preg_split

$dates = preg_split("/ \- /",$string);

现在你在$ dates变量中有两个日期,你可以按照问题中的建议使用strtotime单独转换,然后根据需要将它们连接起来