我想知道怎么做!? 我有:
$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()之前修剪?这种正确的方法还是比使用变换操作更简单的方法?
答案 0 :(得分:2)
您可以在preg_replace_callback
和strtotime
使用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单独转换,然后根据需要将它们连接起来