Certains sites sont hébergés sur des serveurs dont l’heure est différente de celle du pays dans lequel le site est consulté. Voici une astuce pour personnaliser le fuseau horaire (ou timezone) de SPIP. Dans cet exemple on va modifier la zone d’un site martiniquais hébergé en France.
Code à coller dans config/connect.php :
spip_query("SET time_zone = 'America/Martinique'");
Et dans mes_options.php :
date_default_timezone_set("America/Martinique");
Cela met les dates PHP et SQL dans la bonne zone (ceci ne fonctionne qu’en PHP5).
Une liste des différentes timezones disponibles est visible sur le site de documentation de PHP.
Merci à Ben et Cedric
Messages
17 juillet 2008, 03:50, par mika
Tu as eu un site à faire en Martinique ?
Voir en ligne : exemple intéressant
17 juillet 2008, 14:07, par bb
Salut Mika,
Non pas de site en Martinique mais c’est Cedric, la source de l’astuce, qui en avait un.
++
3 août 2009, 14:09, par superyms
Salut,
Pour Spip 2.0 cela ne fonctionne pas !
Il faudra changer spip_query par sql_query
donc
spip_query("SET time_zone = 'America/Martinique'");
devient
sql_query("SET time_zone = 'America/Martinique'");
normalement ça devrait bien fonctionner ainsi (perso j’ai pas encore vérifier !).
@+
16 avril 2010, 14:28, par Aedonya
Merci pour cette astuce !
Pour répondre à superyms, cela fonctionne bien pour moi avec "spip_query" alors que je suis en SPIP 2.0.10... il s’agit peut-être simplement de la version de php... et pas de celle de SPIP
26 juin 2016, 19:16, par Pat
Bonjour.
Le code proposé ne fonctionnait pas (SPIP 3.1 sur GANDI)
Je viens de tester en modifiant seulement mes_options.php :
putenv (’TZ=America/Martinique’) ;
Astuce trouvée sur http://forum.spip.net/fr_1138.html
Ça marche !
26 juin 2016, 20:01, par b_b
Oui l’astuce date un peu, je pense que seule l’ajout dans mes_options est nécessaire maintenant, et sinon il existe un plugin pour ça aujourd’hui ;)
http://plugins.spip.net/timezone.html