php strtotime问题,给出错误的值?

时间:2010-03-08 10:20:07

标签: php strtotime

我有这段代码:

$date = '2010-03-08 8:10:20'
$new_date  = date('Y-m-d H:i:s', strtotime($date . " +1 month"));
echo $new_date;
是的,我已经设置了

date_default_timezone_set('Europe/London');

结果是:2010年4月5日,失踪3天。为什么会这样?我听说他们是strtotime的一些错误?如果是这样,如何获得正确的?我的意思是,还有另一种方法可以取代它:

$new_date  = date('Y-m-d H:i:s', strtotime($date . " +1 month")); // or +2, +3... +100

2 个答案:

答案 0 :(得分:1)

使用mktime功能:

$date = date ( 'Y-m-d H:i:s', mktime ( arguments ) + one_month_epoch_value) ) ; 

答案 1 :(得分:0)

我这样做:

date_default_timezone_set('Europe/London');

$date = '2010-03-08 8:10:20';
$new_date  = date('Y-m-d H:i:s', strtotime($date . " +1 month"));
echo $new_date;

并获取

2010-04-08 08:10:20

所以你还有其他问题。