检查当前日期是否大于存储日期的问题

时间:2016-06-03 07:49:39

标签: php mysql

所以目前的问题是代码工作正常,但是第二个月重置id从5月到6月代码将不再起作用,因为它正在寻找它是否更大,并且当1st不大于31时它有一个问题,它不是关注月份或年份,只是那一天......

示例:数据库存储31/05/2016作为$ reward。 在此示例中,$ current将于2016年6月3日输出

  <?php
       $reward1 = str_replace('/', '-', $reward);
       $stored = date('d/m/Y', strtotime($reward1. ' + 1 days'));
       $current = date('d/m/Y');
       if ($reward < $current) { ?>
         <script type="text/javascript">
           $(window).load(function(){
               $('#redeem1').modal('show');
           });
         </script>

     <?php } } ?>

2 个答案:

答案 0 :(得分:0)

您正在比较字符串。这是错误的。

看看优秀的Carbon库,以最佳实践方式实现这一目标。 https://github.com/briannesbitt/Carbon

$reward = Carbon::parse($reward);
$now = Carbon::now();

if ($reward->lt($now)) {
  // Do something
}

答案 1 :(得分:0)

我认为您的代码中存在一些错误,如上面的评论中所述 看看它是否有效。

$reward1 = str_replace('/', '-', $reward);
$stored = strtotime(date('d-m-Y', strtotime($reward1. ' + 1 days')));
$current = strtotime(date('d-m-Y'));

// now both values are in integer
// using d/m/y is not a standard datetime, php assumes it is american m/d/y. 
   if ($stored < $current) { ?>
     <script type="text/javascript">
       $(window).load(function(){
           $('#redeem1').modal('show');
       });
     </script>

 <?php } } ?>