Comme la version de PHP installée sur mon serveur est PHP5 et que ce serveur est située en Californie, j’utilise la fonction date_default_timezone_set() pour que l’heure soit ajustée à celle du Québec :
date_default_timezone_set("America/Montreal");
Cependant, un lecteur m’a récemment contacté pour savoir s’il existait une alternative pour PHP4. J’ai travaillé sur une méthode, et elle fonctionne bien, son seul désavantage étant que les affichages de date qui utilisent la fonction date() de PHP ne sont pas affectés. On doit utiliser une petite fonction maison :
/**
Retourne la date ajustée
@param str strFormat Le format de date
@return str
*/
function date_ajustee( $strFormat ) {
$intTimestamp = time() - 18000; // Ici, 1800 secondes = 5 heures (60*60*5) de décalage
// par rapport à l'heure locale du serveur
return date( $strFormat, $intTimestamp );
}
On doit donc configurer à la main le nombre d’heures à soustraire ou ajouter — mais c’est mieux que rien.
J’aimerais bien savoir si vous avez déjà utiliser une solution du même genre, et si la mienne est totalement dépassée!
Personnellement, j’utilise la fonction gmdate pour plus de flexibilité
David Brisebois (11 octobre 2007 à 12:42 EST)