php在做日期加减的时候非常麻烦,没有现成的函数,我做了一个。解决了2009-05-31加上一个月会变2009-06-31,这样就错了,6月没有31号,就变成了7月一号了!我的函数在月分加减上没有问题了。
2009-07-01 16:00:36
function my_date_add($opt,$time,$num){
$year = date('Y',strtotime($time));
$month = date('m',strtotime($time));
$day = date('d',strtotime($time));
$last_day = date('t',strtotime($time));
if($opt=='y'){
$year = $year + $num;
} else if($opt=='d'){
$day = $day + $num;
} else if($opt=='m'){
$month = $month + $num;
if($day == $last_day){//如果是最后一天的话
$day = date('t',strtotime("{$year}-{$month}-01"));
}
} else {
return $time;
}
return date("Y-m-d", mktime(0, 0, 0, $month, $day, $year));
}