选择的期限: 请选择 一个月
                    半年
                    一年终止日期:终止日期 说明:如果选择一个月就在当前日期上加上3天 半年5 一年8天.有没有最简便的方法..我的方法太烦索了

解决方案 »

  1.   

    <?php
    $select_date=="一个月"?$now_date=date("m")+3:null;
    $select_date=="半年"?$now_date=date("m")+5:null;
    $select_date=="一年"?$now_date=date("m")+8:null;?>
      

  2.   

    表单部分:<select name="foo">
      <option value="1">一个月</option>
      <option value="2">半年</option>
      <option value="3">一年</option>
    </select>
    获取数据:$foo_days = array(0, 3, 5, 8);
    $foo_idx = max(min($_POST['foo'], 3), 1);  // 超过3认为是3,小于1认为是1
    echo "相应日期为:{$foo_days[$foo_idx]}";
      

  3.   

    别看上面人写的都错了这个问题看似简单其实稍微有点复杂的,要考虑临界情况(比如月末、年末、闰年)才能这确显示计算出日期。你结合php的date函数考虑了以上情况是不难解决滴。
      

  4.   

    试试:<select name="sel">
      <option value="<? echo date("Y-m-d",mktime(0,0,0,date("m"),date("d")+3,date("Y"))) ?>">一个月</option>
      <option value="<? echo date("Y-m-d",mktime(0,0,0,date("m"),date("d")+5,date("Y"))) ?>">半年</option>
      <option value="<? echo date("Y-m-d",mktime(0,0,0,date("m"),date("d")+8,date("Y"))) ?>">一年</option>
    </select>
      

  5.   

    不好意思,没看清楚你要求的是当前日期上改变,只做了变动日期计算。其实只要改一点点代码,没那么复杂:表单部分: HTML code<select name="foo">
      <option value="1">一个月</option>
      <option value="2">半年</option>
      <option value="3">一年</option>
    </select>获取数据: $foo_days = array(0, 3, 5, 8);
    $foo_idx = max(min($_POST['foo'], 3), 1);  // 超过3认为是3,小于1认为是1
    $day = date("Y-m-d", strtotime("+{$foo_days[$foo_idx]} day"));
    echo "相应日期为:{$day}";
      

  6.   

    楼上正确啊。PHP对时间处理都不用管它是不是闰年,某月多少天等等。。很有好处的。
    $nowday = date("Y-m-d", strtotime("+3 day"));$day1 = date("Y-m-d", strtotime("$nowday +3 day")); //在给定日期是加几天,这样处理了,你不管它是否为闰年或某月只有28天的J8啦。
    echo $nowday;
    echo $day1;输出显示:
    2008-09-25
    2008-09-28
      

  7.   

    同学们,strtotime支持+1 year(1年),+6 month(6个月),和+1 month(1个月)所谓的简便方法其实说到底只是合理利用strtotime里对日期的强大处理功能罢了。