检查当前(按月)的日期或更新日期

l2a*_*lba 1 php if-statement date

我想检查给定日期(如2012-12)是否比当前日期更早或更新.

我知道如何检查比较大的月份

if(strtotime('2012-12')<strtotime('-1 Months')){
   echo "true"; // got TRUE ... correct!
} else {
    echo "false";
}
Run Code Online (Sandbox Code Playgroud)

但那更新的呢?

if(strtotime('2013-02')>strtotime('1 Months')){
   echo "true";
} else {
    echo "false"; // got FALSE ... incorrect !
}
Run Code Online (Sandbox Code Playgroud)

检查更新的日期时,我的结果不正确.

Tim*_*Tim 7

您忘了将+添加到您的strtotime函数中.

if(strtotime('2013-02')>strtotime('+1 Months')){
   echo "true";
} else {
    echo "false";
}
Run Code Online (Sandbox Code Playgroud)

更新: 你的问题有些奇怪.例如,2013-02不是日期,而是对月份的引用.如果要检查这是否是该月的第一天,请使用完整的日期表示法:2012-02-01.如果你想检查一个月的当前日期是否检查当前月份date("n")(返回1-12); 并将其与给定月份进行比较,例如:

$date = "2012/02/01";

if(date("n", strtotime($date)) != date("n")) {
 echo 'not current month';
}
Run Code Online (Sandbox Code Playgroud)

如果你想检查这不是当前日期,请执行以下操作:

$date = "2012/02/01";

if(date('d-m-Y', strtotime($date)) != date('d-m-Y')) {
 echo 'not current day';
}
Run Code Online (Sandbox Code Playgroud)