我有代码来检查给定日期是否在两个日期的范围内。
$paymentDate = strtotime("2014-02-10 00:00:00");
$contractDateBegin = strtotime("2014-01-01 00:00:00");
$contractDateEnd = strtotime("2014-02-16 00:00:00");
if (($paymentDate > $contractDateBegin) && ($paymentDate < $contractDateEnd))
{
echo "is between";
}
else
{
echo "NO GO!";
}
但我需要知道一个月是在两个日期的范围内。 这里我们只有月份和年份。 在这里,我将给定日期转换为unix时间戳,并比较值以检查结果。如果我们没有约会,那么如何检查是我的问题。
答案 0 :(得分:0)
我认为这就是你要找的东西:
$month = DateTime::createFromFormat('Y-m', '2010-05');
$contractDateBegin = (new DateTime('01/01/2001'))->modify('last day of this month')->setTime(23, 59, 59);
$contractDateEnd = (new DateTime('01/01/2012'))->setTime(0, 0, 0);
if ($month > $contractDateBegin && $month < $contractDateEnd) {
// The whole month is in between
}
答案 1 :(得分:0)
试试这个:
$paymentDate = DateTime::createFromFormat('Y-m-d', "2013-05-25 00:00:00");
$contractDateBegin = date_create_from_format('Y-m-d', "2012-01-01 00:00:00");
$contractDateEnd = date_create_from_format('Y-m-d', "2014-01-01 00:00:00");
if (($paymentDate > $contractDateBegin) && ($paymentDate < $contractDateEnd))
{
month is between
}