PHP中的日期/夜间间隔

时间:2015-07-29 10:41:17

标签: php wordpress

我使用wordpress插件预订度假村,并在预订的一部分显示您的搜索框(登记入住 - 退房 - 夜晚 - 成人数量等,等等)

我想要显示天数.. 因此,如果总共晚上7晚,我想显示(8天/ 7晚)而不是显示(7晚)。

这是这部分的PHP代码:

<?php
        $datetime1 = new DateTime($from);
        $datetime2 = new DateTime($to);
        $interval = $datetime1->diff($datetime2);
        $nights = $interval->format('%a');
         ?>

并显示如下:

<div><?php echo '<b>From:</b> ' . $from . '&nbsp; <b>To:</b> ' . $to . '&nbsp; <b>No. of nights: </b> ' . $nights . ' night(s) ' . ''; ?></div>

任何帮助都将受到高度赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

你可以尝试这个

<?php
    $from = '2000-01-01 12:00:00';
    $to = '2000-01-03 01:00:00';
    $hours = round((strtotime($to) - strtotime($from))/3600, 1);
    $daynight=ceil($hours/12);
    if($daynight%2==0)
    {
        echo $daynight/2 ." Days and ". $daynight/2 ." Nights";
    }
    else
    {
        $ampm = date('A', strtotime('$from'));
        $nights = $daynight/2;
        $days = $daynight/2;
        if(strcasecmp($ampm, "AM"))
            $nights+=1;
        else
            $days+=1;
        echo floor($days) ." Days and ". floor($nights) ." Nights";
    }
?>

虽然从00:00:00到12:00:00考虑夜间,但从12:00:00到23:59:59考虑日间