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 に答える