Du coup, j'ai oublié de préciser, j'ajoute la ligne suivante au
début de la fonction :
if ($date == '1970-01-01 00:00:00') $date .= ' GMT';
Je n'ai compris ni le problème ni la solution
Tu peux expliquer ?
Les dates par défaut sont fixées à "1970-01-01 00:00:00" sans
précision de fuseau horaire, donc la fonction strtotime() prend celui
de la machine sur laquelle PHP tourne pour donner un timestamp en GMT.
Dans mon cas, je suis en GMT+1, donc la valeur "1970-01-01 00:00:00"
correspond en GMT à 1 heure avant "epoc", c'est à dire une valeur non
admise sur pas mal de systèmes POSIX.
Donc il faut soit préciser que la valeur par défaut est à GMT, cad
mettre "1970-01-01 00:00:00 GMT" plutôt que "1970-01-01 00:00:00",
soit faire autrement ...
Les dates par défaut sont fixées à "1970-01-01 00:00:00" sans
précision de fuseau horaire, donc la fonction strtotime() prend celui
de la machine sur laquelle PHP tourne pour donner un timestamp en GMT.
Ah. Je ferais plutôt if (ereg("^1970-01-01", $date)) return '';