如何在php中检查和验证预定义日期是否已达到或已过?

如何在php中检查和验证预定义日期是否已达到或已过?,php,Php,我想检查当前日期是否与预定义日期相同,如果相同,则脚本应显示一条消息,显示要到达预定义日期的剩余天数,或者是否已到达或已过该日期。 我正在开发一个应用程序,我想检查当前日期是否为25日,如果是25日,则应显示生成工资单按钮。如果未达到该日期,则应显示指定日期剩余的天数。否则,应显示指定日期(如25日)后的天数。 这是我的密码: $payday = 20;//int e.g 25 $now = date('d'); if ($now < $payday) { echo 'Pay D

我想检查当前日期是否与预定义日期相同,如果相同,则脚本应显示一条消息,显示要到达预定义日期的剩余天数,或者是否已到达或已过该日期。 我正在开发一个应用程序,我想检查当前日期是否为25日,如果是25日,则应显示生成工资单按钮。如果未达到该日期,则应显示指定日期剩余的天数。否则,应显示指定日期(如25日)后的天数。 这是我的密码:

$payday = 20;//int e.g 25
$now = date('d');
if ($now < $payday) {

    echo 'Pay Day Less';
} else if ($now == $payday) {
    echo '<a class="btn btn-sm btn-primary" href="salary-view.php?staff_id=<?php echo $result["id"] ?>">Generate Slip</a>';
} elseif ($now > $payday) {
    echo 'Pay Day Passed';
} else {
    echo 'You are faking us';
}
$payday=20//int例如25
$now=日期('d');
如果($now<$payday){
回声“无薪日”;
}else if($now==$payday){
回声';
}elseif($now>$payday){
回声“发薪日已过”;
}否则{
echo‘你在假装我们’;
}

$now是一个字符串,而不是DateTime对象,因此您不能对其调用“format”方法。我没有看到使用任何
format
方法,$now是一个字符串,但它已转换为int,因此if是确定的,错误的是
'。$result[“id”。
@Kazz这是因为自从我发表评论以来它一直在编辑。检查问题历史记录。但你是对的,你不能在回声中回声,那没有意义。我没有发现。@ADyson,但是echo正在工作,只是输出与脚本运行的代码逻辑不同,而且里面的echo不工作,所以重写代码,你会觉得它会工作得最好即使它没有崩溃,可能它生成的链接由于额外的echo而无效-检查浏览器中的最终页面源代码
<?php

$payday = 20; //int e.g 25
$now = intval(date('d')); //convert to int for convenient operations
if ($now < $payday) {
  $daysToPayday = $payday - $now;
  echo 'Pay Day Less';
} else if ($now == $payday) {
  echo '<a class="btn btn-sm btn-primary" href="salary-view.php?staff_id=<?php echo $result["id"] ?>">Generate Slip</a>';
} elseif ($now > $payday) {
  $daysAfterPayday = $now - $payday;
  echo 'Pay Day Passed';
} else {
  echo 'You are faking us';
}