-6

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

8/12/2013-8/19/2013

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

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

请帮我摆脱我的问题。谢谢

4

7 回答 7

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
于 2013-08-19T08:53:12.760 回答
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]));
于 2013-08-19T08:54:30.313 回答
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
于 2013-08-19T08:54:00.217 回答
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
于 2013-08-19T08:55:28.387 回答
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
于 2013-08-19T08:58:22.553 回答
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
于 2013-08-19T08:58:48.520 回答
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
于 2013-08-19T09:04:04.200 回答