dongxi8993 2016-08-12 07:48
浏览 23
已采纳

Php属于特定季度

I'm sorry i'm currently having a problem on this section. My Date format is Y-m-d

$date1 = '2016-03-1';
$date2 = '2016-07-1';
$date3 = '2016-10-1';
$date4 = '2016-12-1';

if today is 2016-8-12 it should fall at $date3 since it the next period. i tried using the if conditions but it only falls at first condition. Can you enlighten me on this?

My code is somewhat like this

$today = date("2016-07-29");
if(strtotime($date1) < strtotime($today)){
        $next_accrual_date = $date1;
        $date_condition = 'condition 1';
    }else
    if(strtotime($date2) <   strtotime($today)){
        $next_accrual_date = $date2;
        $date_condition = 'condition 2';
    }else
    if(strtotime($date3) <  strtotime($today)){
        $next_accrual_date = $date3;
        $date_condition = 'condition 3';
    }else
    if(strtotime($date4) <  strtotime($today)){
        $next_accrual_date = $date4;
        $date_condition = 'condition 4';
    }
echo $next_accrual_date." falls to ".$date_condition;
  • 写回答

3条回答 默认 最新

  • dongxian0320 2016-08-12 08:02
    关注

    One way to do this is

    <?php
    $dates = array();
    $dates[] = '2016-03-1';
    $dates[] = '2016-07-1';
    $dates[] = '2016-10-1';
    $dates[] = '2016-12-1';
    
    usort($dates, "cmp");
    
    function cmp($a, $b){ 
        return strcmp($a, $b); 
    }
    
    foreach($dates as $date){
      if($date > "2016-08-12"){
        echo $date;
        break;
      } 
    }
    
    //print_r($dates);
    
    ?>
    

    Live demo : https://eval.in/621460

    This will give output :

     2016-10-1
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄