繁体   English   中英

PHP的检查月份存在两个日期之间

[英]php check month exist between two dates

我有代码检查给定日期是否在两个日期范围内。

$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时间戳,并比较这些值以检查结果。 如果我们没有日期,那么如何检查是我的问题。

认为这是您要寻找的:

$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 
}

演示版

尝试这个:

$paymentDate = DateTime::createFromFormat('Ym-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
}    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM