如何比较数字与日期PHP


How to compare digits with date PHP

是否有方法将值转换为日期?我有3个下拉列表:日、月、年。如果选定日期<今天,消费者将无法点击购买按钮,直到我在下拉菜单中选择的那一天。问题是,我选择的日期是一个值,而不是一个日期。有没有一种方法可以将我的价值与今天的日期进行比较?下面的代码是我的网站的后端,if语句必须留在前端>

    $releasedatumdag= get_post_meta( $domeinnaam_extensies->ID, 'releasedatumdag', true );
$releasedatummaand= get_post_meta( $domeinnaam_extensies->ID, 'releasedatummaand', true );
$releasedatumjaar= get_post_meta( $domeinnaam_extensies->ID, 'releasedatumjaar', true );
<tr>
        <th>Releasedatum:</th>
        <td>
            <select name="domeinnaam_extensies_releasedatumdag">
                <?php
                for($idag = 1; $idag <= 31; $idag++){
                echo '<option value="'.$idag.'">'.$idag.'</option>';
                                                        }
                ?>
            </select>
            <select name="domeinnaam_extensies_releasedatummaand">
                <?php
                for($imaand = 1; $imaand <= 12; $imaand++){
                echo '<option value="'.$imaand.'">'.$imaand.'</option>';
                                                        }
                ?>
            </select>
            <select name="domeinnaam_extensies_releasedatumjaar">
                <?php
                for($ijaar = 2000; $ijaar < date("Y")+10; $ijaar++){
                echo '<option value="'.$ijaar.'">'.$ijaar.'</option>';
                                                        }
                ?>
            </select>
        </td>
    </tr>

您可以使用DateTime()来创建日期。然后,您可以将它与代表今天的另一个DateTime对象进行比较,因为DateTime对象是可比较的:

$my_date = DateTime::createFromFormat('d/m/Y', '31/12/2014');
$now     = new DateTime();
if ($my_date < $now) {
  // do something
}

您有日期,月份和年份,所以只需创建一个DateTime对象,您可以获得它的时间戳并将其与今天进行比较。

http://www.php.net/manual/en/datetime.construct.php

http://php.net/manual/en/function.checkdate.php

Can string the digits into any format that you want
$dateString = $releasedatumdag . '/' . $releasedatummaand . '/' . $releasedatumjaar;
//Make sure that they didn't try to create Feb. 31
if(checkdate($dateString)) {
    $submittedTime = new DateTime($dateString);
    $today = new DateTime();
    //DO YOUR COMPARISON HERE
}