1

我有这个代码:

$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
4

2 回答 2

1

使用 mktime 功能:

$date = date ( 'Y-m-d H:i:s', mktime ( arguments ) + one_month_epoch_value) ) ; 
于 2010-03-08T10:36:37.810 回答
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

所以你还有其他问题。

于 2010-03-08T10:34:33.537 回答