我有一点逻辑问题。 我有这个:
$y=2014;
$m=05;
$d=22;
$d2=$d+1;
$sunset=17:52;
$sunrise=05:44;
我有一些事件发生在第22天和第23天,但我想只选择在$ sunset和$ sunrise之间发生的事件。
我可以这样说:if($event [$sunset<BETWEEN>$sunrise]){
//show something;
}
?提前谢谢。
答案 0 :(得分:2)
使用DateTime()
因为它们具有可比性,因此很容易:
$sunrise = new DateTime('2014-05-22 05:44');
$sunset = new DateTime('2014-05-23 17:52');
$good = new DateTime('2014-05-22 18:00');
$bad = new DateTime('2014-05-23 18:00');
if ($good > $sunrise && $good < $sunset) {
echo '$good is good';
}
if ($bad > $sunrise && $bad < $sunset) {
echo '$bad is good';
}
答案 1 :(得分:1)
您应该创建DateTime对象,然后就像计算时间差一样简单。
http://www.php.net/manual/en/datetime.diff.php
示例:
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>