L'ajout de jours pour un timestamp

De donner une date de départ, je suis en ajoutant quatre fois sept jours pour obtenir 5 dates différentes, séparées exactement une semaine chacun.

//$date = '28-10-2010';
$timestamp = mktime( 0, 0, 0, 10, 01, 2010 );
echo "Date=".date( 'd-m-Y', $timestamp )."<br>";

$timestamp += (60*60*24*7);
echo "Date=".date( 'd-m-Y', $timestamp )."<br>";

$timestamp += (60*60*24*7);
echo "Date=".date( 'd-m-Y', $timestamp )."<br>";

$timestamp += (60*60*24*7);
echo "Date=".date( 'd-m-Y', $timestamp )."<br>";

$timestamp += (60*60*24*7);
echo "Date=".date( 'd-m-Y', $timestamp )."<br>";

Le code renvoie ceci:

Date=01-10-2010 Friday
Date=08-10-2010 Friday
Date=15-10-2010 Friday
Date=22-10-2010 Friday
Date=29-10-2010 Friday

Qui aussi longtemps que je sais que c'est correct.
Mais, voyez ce qui se passe lorsque vous allez à travers le 2010-10-31 et 2010-11-01

$timestamp = mktime( 0, 0, 0, 10, 28, 2010 );
[...]

Curieusement, il renvoie à ceci:

Date=28-10-2010 Thursday
Date=03-11-2010 Wednesday
Date=10-11-2010 Wednesday
Date=17-11-2010 Wednesday
Date=24-11-2010 Wednesday

Ce qui se passe? Deuxième date doit être 04-11-2010!
Aussi, j'ai vu que cet "échec" arrive tous les dix ans!
Est-ce quelque chose en rapport avec l'heure d'été? Si oui, comment puis-je le résoudre?
Est-il quelque chose que je suis dominant?

Edit: Ok, je outputed le temps, juste pour voir ce qui se passe et c'est ce que j'ai maintenant:

Date=28-10-2010 Thursday :: 00:00:00
Date=03-11-2010 Wednesday :: 23:00:00
Date=10-11-2010 Wednesday :: 23:00:00
Date=17-11-2010 Wednesday :: 23:00:00
Date=24-11-2010 Wednesday :: 23:00:00

Semble quelque chose en rapport avec le temps, il se passe quelque chose à 2010-11-31...

OriginalL'auteur Raúl Ferràs | 2010-08-03