Php strotime()函数用法:获取结果时出错
我有一个脚本,它返回2个日期之间的时间范围,但添加1天强>Php strotime()函数用法:获取结果时出错,php,mysql,strtotime,Php,Mysql,Strtotime,我有一个脚本,它返回2个日期之间的时间范围,但添加1天 $date_1 = date("Y-m-d g:i:s", strtotime('2013-06-27 12:00:00')); $date_2 = date("Y-m-d g:i:s", strtotime('2013-06-29 12:00:00')); $results = array($date_1); $i = $date_1; while ($i <= $date_2) { $i = date("Y-m-d g
$date_1 = date("Y-m-d g:i:s", strtotime('2013-06-27 12:00:00'));
$date_2 = date("Y-m-d g:i:s", strtotime('2013-06-29 12:00:00'));
$results = array($date_1);
$i = $date_1;
while ($i <= $date_2) {
$i = date("Y-m-d g:i:s", strtotime("+1 day", strtotime($i)));// how do I take off here this "+1 day"
array_push($results, $i);
echo $i;
}
当我需要时
2013-06-27 2013-06-28 2013-06-29
问题显然是在这“+1天”,但如果我将其从函数中删除,则会出现get错误
如何解决此问题?尝试更改此选项
strtotime("+1 day", strtotime($i))
为此:
strtotime("+0 day", strtotime($i))
我试过这个:
$date_1 = date("Y-m-d g:i:s", strtotime('2013-06-27 12:00:00'));
$date_2 = date("Y-m-d g:i:s", strtotime('2013-06-29 12:00:00'));
$results = array($date_1);
$i = $date_1;
while ($i <= $date_2) {
$i = date("Y-m-d g:i:s", strtotime($i));// how do i take off here this "+1 day"
array_push($results, $i);
echo $i . "\n";
$i = date("Y-m-d g:i:s",strtotime("+1 day", strtotime($i)));
}
您需要增加变量
$i
:
$date_1 = strtotime('2013-06-27 12:00:00');
$date_2 = strtotime('2013-06-29 12:00:00');
$results = array();
$i = $date_1;
while ($i <= $date_2) {
array_push($results, date("Y-m-d g:i:s", $i));
$i = strtotime('+1 day', $i);
}
print_r($results);
$date_1=strottime('2013-06-27 12:00:00');
$date_2=strottime('2013-06-29 12:00:00');
$results=array();
$i=$date_1;
而($i只是想让你知道:
date_default_timezone_set('UTC');
$date_from = '2013-06-27 12:00:00';
$date_interval = '+1 day';
$date_to = '2013-06-29 12:00:00';
$date_range = array_map(function ($date) {
return $date->format('Y-m-d g:i:s');
}, iterator_to_array(
new DatePeriod(new DateTime($date_from),
DateInterval::createFromDateString($date_interval),
(new DateTime($date_to))->modify('+1 day'))));
var_dump($date_range);
给了我以下信息:
array(3) {
[0]=>
string(10) "2013-06-27 12:00:00"
[1]=>
string(10) "2013-06-28 12:00:00"
[2]=>
string(10) "2013-06-29 12:00:00"
}
PHP5.3+兼容。Umm..push$i=
到结尾?顺便说一句,strotime($i.+1天)
与strotime('+1周',strotime($i))
一样好,只需调用一次strotime
即可。
date_default_timezone_set('UTC');
$date_from = '2013-06-27 12:00:00';
$date_interval = '+1 day';
$date_to = '2013-06-29 12:00:00';
$date_range = array_map(function ($date) {
return $date->format('Y-m-d g:i:s');
}, iterator_to_array(
new DatePeriod(new DateTime($date_from),
DateInterval::createFromDateString($date_interval),
(new DateTime($date_to))->modify('+1 day'))));
var_dump($date_range);
array(3) {
[0]=>
string(10) "2013-06-27 12:00:00"
[1]=>
string(10) "2013-06-28 12:00:00"
[2]=>
string(10) "2013-06-29 12:00:00"
}