PHP 将字符串转换为日期期间

PHP transform string to date period

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

$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' 我需要切片,trim 在我把它交给 strtotime() 或 date() 之前?这是正确的方法还是比转换操作更简单的方法?

您可以在此处将 preg_replace_callbackstrtotimedate 一起使用:

$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

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

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

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