两个日期之间的php时间Y-m

两个日期之间的php时间Y-m,php,date,Php,Date,我有一个代码,上面写着如果两个日期之间有天, 但我需要它与Y-m而不是Y-m-d一起工作 如何做到这一点? 示例:我需要检查2016-10是否介于2016-09和2016-12 我的代码: $paymentDate = date('Y-m-d', strtotime($date)); $contractDateBegin = date('Y-m-d', strtotime($dfrom)); $contractDateEnd = date('Y-m-d', strtotime($dtom));

我有一个代码,上面写着如果两个日期之间有天,
但我需要它与Y-m而不是Y-m-d一起工作 如何做到这一点? 示例:我需要检查
2016-10
是否介于
2016-09
2016-12

我的代码:

$paymentDate = date('Y-m-d', strtotime($date));
$contractDateBegin = date('Y-m-d', strtotime($dfrom));
$contractDateEnd = date('Y-m-d', strtotime($dtom));

if (($paymentDate > $contractDateBegin) && ($paymentDate < $contractDateEnd)){

    echo "is between";

}else{

    echo "NO GO!";

}
$paymentDate=date('Y-m-d',strottime($date));
$contractDateBegin=日期('Y-m-d',标准时间($dfrom));
$contractDateEnd=日期('Y-m-d',标准时间($dtom));
如果($paymentDate>$contractDateBegin)&($paymentDate<$contractDateEnd)){
回音“在中间”;
}否则{
回声“不行!”;
}

使用
Y-m
可以:

$paymentDate=date('Y-m', strtotime($date));;
$contractDateBegin = date('Y-m', strtotime($dfrom));
$contractDateEnd = date('Y-m', strtotime($dtom));

if (($paymentDate > $contractDateBegin) && ($paymentDate < $contractDateEnd)){
    echo "is between";
}else{
    echo "NO GO!";  
}
$paymentDate=date('Y-m',strottime($date));;
$contractDateBegin=日期('Y-m',标准时间($dfrom));
$contractDateEnd=日期('Y-m',标准时间($dtom));
如果($paymentDate>$contractDateBegin)&($paymentDate<$contractDateEnd)){
回音“在中间”;
}否则{
回声“不行!”;
}

提取月份和年份并进行比较

$paymentDateY = date('Y', strtotime($date));
$paymentDateM = date('n', strtotime($date));

$contractDateBeginY = date('Y', strtotime($dfrom));
$contractDateBeginM = date('n', strtotime($dfrom));

$contractDateEndY = date('Y', strtotime($dtom));
$contractDateEndM = date('n', strtotime($dtom));


if ($paymentDateY >= $contractDateBeginY && $paymentDateY <= $contractDateEndY 
&& $paymentDateM >= $contractDateBeginM && $paymentDateM <= $contractDateEndM){
     echo "is between";
}
else
{
     echo "NO GO!";  
}
$paymentDateY=date('Y',strottime($date));
$paymentDateM=日期('n',strottime($date));
$contractDateBeginY=日期('Y',标准时间($dfrom));
$contractDateBeginM=日期('n',标准时间($dfrom));
$contractDateEndY=日期('Y',标准时间($dtom));
$contractDateEndM=日期('n',标准时间($dtom));

如果($paymentDateY>=$contractDateBeginY&&$paymentDateY=$contractDateBeginM&&$paymentDateM需要Y-m格式的是什么?你只是在做一个日期比较。3个日期假设我需要检查2016-10年是否在2016-09年和2016-12年之间。一直想知道为什么要在一个月的第一天和另一个月的最后一天之间加-1?你就不能把这些值强制加到你的日期值里吗?它已经修好了谢谢:)很高兴我能帮上忙。快乐编码:)哇,你是对的,只是用数字测试了一下!奇怪的是,我认为这与为什么我的变量不起作用。