php strtotime sorunları, yanlış değerler veriyor?

2 Cevap php

Bu kodu vardır:

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

Btw, zaten ayarlanmış

date_default_timezone_set('Europe/London');

Ve sonuç: 5 Nisan 2010, 3 gün eksik. Neden olur nedir? Ben onlar strtotime bazı hatalar vardır duydunuz mu? Davayı şu, nasıl doğru bir tane almak için? Yani, bu değiştirmek için başka bir yolu vardır:

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

2 Cevap

Mktime işlevini kullanın:

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

Ben bunu:

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;

ve almak

2010-04-08 08:10:20

böylece diğer bazı sorunu var.