我有一个请假系统,用户选择日期 from
和 to
日期,请说2018-02-26
- {{1}这总共是6天。在我们的门户网站上,它显示了所有正在休假的用户。假设此用户申请了6天假,我将如何在我们的门户网站上显示此用户6天?下面是我的代码,它运行良好,但仅显示当前日期。
2018-03-03
我正在使用雄辩。感谢
答案 0 :(得分:4)
// Specify the start date. This date can be any English textual format
$date_from = "2018-02-03";
$date_from = strtotime($date_from); // Convert date to a UNIX timestamp
// Specify the end date. This date can be any English textual format
$date_to = "2018-02-10";
$date_to = strtotime($date_to); // Convert date to a UNIX timestamp
// Loop from the start date to end date and output all dates inbetween
for ($i=$date_from; $i<=$date_to; $i+=86400) {
echo date("Y-m-d", $i).'<br />';
}
答案 1 :(得分:2)
您可以在PHP中使用日期时间功能。
$first_date = new DateTime($currentDate);
$last_date = new DateTime($if);
$difference = $first_date->diff($last_date);
echo $difference->d.' days;
如果您希望月份和年份使用$difference->m
和$difference->y
。如果您想要准确的天数,即使日期为负值,也可以使用低于一天。
$result = $first_date->diff($last_date)->format("%r%a");
来源:/ datetime
答案 2 :(得分:1)
您可以使用date_diff()函数:
$interval = date_diff($currentDate, $lf);
echo $interval->format('%d');
更多信息:http://php.net/manual/en/function.date-diff.php; https://www.w3schools.com/php/func_date_date_diff.asp
答案 3 :(得分:1)
您可以使用PHP的DateTime函数 在你的情况下
$currentDate = date('Y-m-d');
$currentDate = new DateTime($currentDate);
$leaveDate = new DateTime($leaveFrom);
$difference = $currentDate->diff($leaveDate);
你会得到像
这样的结果DateInterval Object ( [y] => 0 [m] => 0 [d] => 5 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 5 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
答案 4 :(得分:0)
$many_days=0;
$date_from = "2018-02-26";
$date_to = "2018-03-03";
for ($i=strtotime($date_from); $i<=strtotime($date_to);
$i+=86400) {
$many_days++;
}
echo "leaves $many_days";