php adddate,PHP date_add 用法 手册 | 示例代码

{// normal mysql format is:   date_add(now(), INTERVAL 1 MONTH)

// its close to the strtotime() format, but we need to make a few adjustments

// first we lowercase everything, not sure if this is needed but it seems

// to be both mysql conventions to be capitalized and php to lowercase this, so

// i follow suit.$adjustment=strtolower($adjustment);// next we want to get rid of the INTERVAL part, as neither it nor a corrisponding

// keyword used in the strtotime() function.   remmeber its lowercase now.$adjustment=str_replace('interval','',$adjustment);// now the adjustment is suppsoed to have a + or - next to it to indicate direction

// since strtotime() can be used to go both ways.  We want to tack this one, but first

// strip any white space off the begining of the $adjustment so we dont wind up with like

//  +     1         when we need    +1$adjustment='+'.trim($adjustment);// we should now be left with something like '+1 month'  which is valid strtotime() syntax!

// next we need to handle the $now, normally people would pass now() if they want the current

// time or a datetime/timestamp.    We will need to account for this as well, we also

// want to make use of having a default to now() type of behavior.    we want to also

// trim and lowercase what they send us just to make it easier to compair toif (is_null($now)strtolower(trim($now)) =='now()')

{// defaulted to or requested a the current time$now=time();

}

else

{// here we are splitting out each part of the mysql timestamp , and storing it in the $parts arraypreg_match('/([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/',$now,$parts);// now we use each of the parts to generate a timestamp from it$now=mktime($parts[4],$parts[5],$parts[6],$parts[2],$parts[3],$parts[1]);

}// now we finally call strtotime() with the properly formatted text and get the date/time

// calculates done.  I specify its returned as an integer to make things play more nicely

// with eachother in case the conversion fails.$timestamp= (integer)strtotime($adjustment,$now);// finally we have the timestamp of the adjusted date nowe we just convert it back to the mysql

// format and send it back to them.returndate('Y-m-d H:i:s',$timestamp);

}?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值