我有桌名" guest_room"在数据库中,guest_room的字段是"到达"并且"离开",到达的价值是" 2016-12-27"离开的价值是" 2016-12-31"。
在我的php文件中我想显示从到达到出发日期的数据,这里是我的代码:
$date = $g[arrival];
$end_date = $g[departure];
while (strtotime($date) <= strtotime($end_date)) {
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
echo "$date<br>";
}
但在我的结果中显示的日期来自&#34; 2016-12-28&#34;直到&#34; 2017-01-01&#34; 我想要的是,我想显示来自&#34; 2016-12-27&#34;直到&#34; 2016-12-31&#34;
我知道我不应该使用mysql_但这不是重点,请帮帮我
答案 0 :(得分:0)
试试这段代码,
$date = "2016-12-27" ;
$end_date = "2016-12-31";
while (strtotime($date) <= strtotime($end_date)) {
echo "$date<br>";
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
答案 1 :(得分:0)
试试这个:
$date = $g[arrival];
$end_date = $g[departure];
while (strtotime($date) < strtotime($end_date)) {
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
echo "$date<br>";
}
答案 2 :(得分:0)
/ ** *生成两个日期之间的字符串日期数组 * * @param string $ start开始日期 * @param string $ end结束日期 * @param string $ format输出格式(默认值:Y-m-d) * * @return数组 * /
function getDatesFromRange($start, $end, $format = 'Y-m-d') {
$array = array();
$interval = new DateInterval('P1D');
$realEnd = new DateTime($end);
$realEnd->add($interval);
$period = new DatePeriod(new DateTime($start), $interval, $realEnd);
foreach($period as $date) {
$array[] = $date->format($format);
}
return $array;
}
然后,您可以按预期调用该函数:
getDatesFromRange('2010-10-01', '2010-10-05');
答案 3 :(得分:0)
首先简单地回显日期然后递增日期
while (strtotime($date) <= strtotime($end_date)){
echo "$date<br>";
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
答案 4 :(得分:0)
只需将增量放在循环体的末尾:
$date = $g[arrival];
$end_date = $g[departure];
while (strtotime($date) <= strtotime($end_date)) {
// Switched these lines so the increment is at the end of the body
echo "$date<br>";
$date = date ("Y-m-d", strtotime("+1 day", strtotime($date)));
}
答案 5 :(得分:0)