if语句的PHP过期日期



我正在尝试将字符串与当前日期匹配。在if语句中,如果字符串等于或小于当前日期,我想要回显仍然活跃,但如果它已经通过了cstring返回过期。使用下面的代码,它总是返回过期,时区是phoenix/arizona而不是Los Angeles我如何解决这两个问题

$current_date = date('F j Y g:i A e', strtotime('now'));
$expiration_date = date('F j Y g:i A e', strtotime('March 16 2011 9:29 am pst'));
date_default_timezone_set('America/Los_Angeles');
if ($expiration_date < $current_date) {
        echo 'Still Avtive';
}
else
if ($expiration_date == $current_date) {
        echo 'Still Avtive';
}
else {
        echo 'Time Expired';
}

我使用了下面的代码,它似乎可以工作。希望这对你有帮助!

    <?php 
    date_default_timezone_set('America/Los_Angeles');
    // Set your desired Expiration Date here, using correct lettercases
    $exp_date = "June 1 2011 9:29 AM PST"; 
    // Using Capital 'A' in date() need capital in $exp_date: 'AM'. 'a' means  lowercase 'am'
    $todays_date = date("F j Y g:i A e"); 
    $today = strtotime($todays_date); 
    $expiration_date = strtotime($exp_date); 
    if ($expiration_date > $today) { 
        echo 'Still Active';
    } else { 
        echo 'Time Expired';
    } ?>
  1. 先更改时区,再更改。
  2. 比较strtotime的值,而不是日期字符串。strtotime返回整数,而date返回格式化字符串。

相关内容

  • 没有找到相关文章

最新更新