请教最简便的PHP语句 选择的期限: 请选择 一个月 半年 一年终止日期:终止日期 说明:如果选择一个月就在当前日期上加上3天 半年5 一年8天.有没有最简便的方法..我的方法太烦索了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?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;?> 表单部分:<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认为是1echo "相应日期为:{$foo_days[$foo_idx]}"; 别看上面人写的都错了这个问题看似简单其实稍微有点复杂的,要考虑临界情况(比如月末、年末、闰年)才能这确显示计算出日期。你结合php的date函数考虑了以上情况是不难解决滴。 试试:<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> 不好意思,没看清楚你要求的是当前日期上改变,只做了变动日期计算。其实只要改一点点代码,没那么复杂:表单部分: 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}"; 楼上正确啊。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-252008-09-28 同学们,strtotime支持+1 year(1年),+6 month(6个月),和+1 month(1个月)所谓的简便方法其实说到底只是合理利用strtotime里对日期的强大处理功能罢了。 请教各位各位一个紧急问题。关于ECSHOP win7安装PHP环境 新手session 够物车 不能显示以买物品 oracle的一个表中,有一个字段是NUMBER型,它标示的是时间,请问怎么能转换成正常的时间啊? mysql安装的问题 請高手幫忙! 關于網頁制作的一些小問題 PHP 有没有办法销毁常量 我在网下载的多个BBS,运时都会出一些错误,想问问是不是我的PHP.INI是不是要做什么配置?? 有点不明白,关于ENCTYPE? 一个愚蠢的问题什么是session,session能干什么用,详细些好吗 PHP能否实现这样的需求?[非求代码] 如何屏蔽iframe中的连接在自己网站上显示
$select_date=="一个月"?$now_date=date("m")+3:null;
$select_date=="半年"?$now_date=date("m")+5:null;
$select_date=="一年"?$now_date=date("m")+8:null;?>
<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]}";
<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>
<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}";
$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