检查两个日期之间的日期
Check the date between two dates
我必须检查接收日期是否在今天之前的 3 到 6 个月之间。如果超出这个范围,就必须执行一定的代码。
下面是代码
<?php
$date1 = '22-10-2017';
$date2 = date('d-m-Y' , strtotime('-3 months'));
$date3 = date('d-m-Y' , strtotime('-6 months'));
if((strtotime($date1) < strtotime($date2)) || (strtotime($date1) > strtotime($date3))){
echo "Inside Range";
}else echo "Out of Range";
?>
例如如果
- 传入日期是 20-02-2018 - 超出范围。
- 传入日期是 20-10-2017 - 在范围内。
- 传入日期是 20-08-2017 - 超出范围。
你正在检查 ||
你需要使用 &&
因为你需要日期 BETWEEN
$date1 = '20-08-2017';
$date2 = date('d-m-Y' , strtotime('-3 months'));
$date3 = date('d-m-Y' , strtotime('-6 months'));
if((strtotime($date1) <= strtotime($date2)) && (strtotime($date1) >= strtotime($date3))){
echo "Inside Range";
}else {
echo "Out of Range";
}
说明:
需要将您的条件从 if((strtotime($date1) < strtotime($date2)) || (strtotime($date1) > strtotime($date3)))
更改为 if((strtotime($date1) <= strtotime($date2)) && (strtotime($date1) >= strtotime($date3))){
如果您使用的是 DateTime 对象,这也会容易得多:
$date1 = new DateTime('20-08-2017');
$date2 = new DateTime('-3 months');
$date3 = new DateTime('-6 months');
if($date1 < $date2 && $date1 > $date3) {
echo "Inside Range";
} else {
echo "Out of Range";
}
你可以这样做:
$today=date_create(date("Y-m-d"));
$date=date_create("2018-06-12");
$diff=date_diff($today,$date)->format("%a");
if ($diff > 90 && $diff < 180) {
echo "Inside range";
}
else {
echo "Out of range";
}
我必须检查接收日期是否在今天之前的 3 到 6 个月之间。如果超出这个范围,就必须执行一定的代码。
下面是代码
<?php
$date1 = '22-10-2017';
$date2 = date('d-m-Y' , strtotime('-3 months'));
$date3 = date('d-m-Y' , strtotime('-6 months'));
if((strtotime($date1) < strtotime($date2)) || (strtotime($date1) > strtotime($date3))){
echo "Inside Range";
}else echo "Out of Range";
?>
例如如果
- 传入日期是 20-02-2018 - 超出范围。
- 传入日期是 20-10-2017 - 在范围内。
- 传入日期是 20-08-2017 - 超出范围。
你正在检查 ||
你需要使用 &&
因为你需要日期 BETWEEN
$date1 = '20-08-2017';
$date2 = date('d-m-Y' , strtotime('-3 months'));
$date3 = date('d-m-Y' , strtotime('-6 months'));
if((strtotime($date1) <= strtotime($date2)) && (strtotime($date1) >= strtotime($date3))){
echo "Inside Range";
}else {
echo "Out of Range";
}
说明:
需要将您的条件从 if((strtotime($date1) < strtotime($date2)) || (strtotime($date1) > strtotime($date3)))
更改为 if((strtotime($date1) <= strtotime($date2)) && (strtotime($date1) >= strtotime($date3))){
如果您使用的是 DateTime 对象,这也会容易得多:
$date1 = new DateTime('20-08-2017');
$date2 = new DateTime('-3 months');
$date3 = new DateTime('-6 months');
if($date1 < $date2 && $date1 > $date3) {
echo "Inside Range";
} else {
echo "Out of Range";
}
你可以这样做:
$today=date_create(date("Y-m-d"));
$date=date_create("2018-06-12");
$diff=date_diff($today,$date)->format("%a");
if ($diff > 90 && $diff < 180) {
echo "Inside range";
}
else {
echo "Out of range";
}