bonjour à tous.

J'ai un soucis avec cette date :le 26 mars 2006 à 2H du mat dans PHP.

On est bien d'accord :

select '2006-03-26 02:00:00' + INTERVAL 3600 SECOND;

Me retourne : 1 heure de plus soit :
2006-03-26 03:00:00

Je fais la même chose en php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 <?php
 
$date = '2006-03-26 02:00:00';
 
list($year, $month, $day, $hour, $min, $sec) = split('[-: ]', $date);
$ts = mktime($hour, $min, $sec, $month, $day, $year);
 
echo date('Y-m-d H:i:s', $ts);    // affiche 2 heure du mat OK
$ts += 3600; // j'ajoute 1 heure
echo '<br>';
echo date('Y-m-d H:i:s', $ts);    // affiche 4 heures du mat !! hein ??,
 
?>
Savez vous pourquoi ?
Si j'ajoute 3600 secondes, et que PHP me décale de 2 heures, ca ne va pas du tout. Est-ce normal ? Y a t-il un décalage quelconque ? car les décalages ont lieu effectivement à 2 heures du mat, mais GMT ne se décale jamais puisque c'est un horaire de calage ? Me trompe-je ?

bye
philippe