从日期范围中获取两个日期变量

时间:2013-08-19 08:50:07

标签: php date-range

我有这些范围日期(m / d / yyyy-m / d / yyyy)

8/12/2013-8/19/2013

然后我想从那个日期获得两个不同格式的日期变量(yyyy-mm-dd)。

$date1 = 2013-8-12
$date2 = 2013-8-19

请帮我解决问题。感谢

7 个答案:

答案 0 :(得分:6)

您可以使用explode

$string = explode('-','8/12/2013-8/19/2013');

$date1 = explode('/',$string[0]);
$date2 = explode('/',$string[1]);

$finalDate1 = $date1[2].'-'.$date1[0].'-'.$date1[1];
$finalDate2 = $date2[2].'-'.$date2[0].'-'.$date2[1];

输出

2013-8-12
2013-8-19

答案 1 :(得分:2)

   $var = explode('-','8/12/2013-8/19/2013');
   $date1 = date('Y-m-d',strtotime($var[0]));
   $date2 = date('Y-m-d',strtotime($var[1]));

答案 2 :(得分:1)

已使用explodedate个功能

$date_range = "8/12/2013-8/19/2013";
$dates = explode("-", $date_range);

echo $date1 = date('Y-m-d', strtotime($dates[0]));
echo $date2 = date('Y-m-d', strtotime($dates[1]));

输出

2013-08-12
2013-08-19

答案 3 :(得分:1)

$daterange = "8/12/2013-8/19/2013";
$dates = explode("-", $daterange );

$date1=  date("Y-m-d", strtotime($dates[0]));
$date2=  date("Y-m-d", strtotime($dates[1]));

<强>输出

$date1 = 2013-8-12
$date2 = 2013-8-19

答案 4 :(得分:1)

$a = '8/12/2013-8/19/2013';//the given string
$a = explode('-', $a);// split the string by '-' and store it in array
$date1 = date('Y-m-d',strtotime($a[0]));// returns 2013-08-12
$date2 = date('Y-m-d',strtotime($a[1]));// returns 2013-08-19

答案 5 :(得分:1)

首先,您需要explode日期字符串"8/12/2013-8/19/2013",这将返回包含两个日期的数组。

$default = '8/12/2013-8/19/2013';
$date = explode('-',$default);

echo date('Y-m-d',strtotime($date[0]));
echo date('Y-m-d',strtotime($date[1]));

<强>输出

2013-08-12
2013-08-19

答案 6 :(得分:1)

试试这个:

<?php
$string = explode('-','8/12/2013-8/19/2013');    
$date1 = DateTime::createFromFormat('m/d/Y', $string[0]);
$date2 = DateTime::createFromFormat('m/d/Y', $string[1]);

//echo the results :
echo $date1->format('Y-m-d');
echo "<br/>".$date2->format('Y-m-d');
?>

输出

2013-08-12
2013-08-19