[spip-dev] Gestion des dates - Heure d'été - Heure d'hiver

Bonjour à tous,

Je me trompe peut-être de liste, mais ça me semblait plus pertinent
dans le dev. Sinon désolé par avance.

Je me pose une petite question sur la gestion des heures d'été et
d'hiver. Visiblement PHP depuis la version 5.1.0 s'est amélioré à ce
sujet et permet de retrouver une heure passée à un endroit précis en
tenant compte de l'heure d'été ou l'heure d'hiver. Perso j'ai un souci
à ce niveau là, avec une base de données commune à 3 pays (Allemagne,
France et Espagne) et j'aurai besoin d'afficher la bonne heure dans
chaque pays à un moment donné. C'est pour la gestion de matchs de
foot. Si le match s'est passé en août en France et que j'ai enregistré
l'horaire GMT, l'horaire du match devrait être horaire+2. Or pour le
moment, je gère simplement avec une balise +1 ou +2. Donc quand on est
en horaire d'hiver les matchs se déroulant en été perdent tous une
heure et vice-versa quand on passe en heure d'été, les matchs d'hiver
gagnent tous une heure.

Est-ce qu'il y a un moyen simple de gérer ça ? Est-ce que Spip a une
fonction pour la gestion des heures d'été et d'hiver car le problème
se pose, je suppose, pour les articles également même si dans mon cas
cela est beaucoup moins important ?

Merci d'avance.

@+

Benjamin Tricault

Donc pour ceux que ça pourrait intéresser, j'ai juste créé un filtre
dans mes_fonctions.php avec ça dedans :

function date_fuseau($date) {
  $fuseau_depart='UTC';
  $fuseau_arrivee='Europe/Paris';
  $date=new DateTime($date, new DateTimeZone($fuseau_depart));
  $date->setTimezone(new DateTimeZone($fuseau_arrivee));
  return $date->format('Y-m-d H:i:s');
}

Cela permet de gérer les différents fuseaux mais surtout l'heure d'été
et d'hiver dans certains pays. Il suffit juste de renseigner le fuseau
de départ et le fuseau que l'on souhaite à l'arrivée et ensuite on
continue de manipuler avec affdate. Donc dans mon cas cela me permet
de gérer une base externe avec des dates UTC et de répartir sur 3 pays
avec 3 fuseaux horaires différents sans avoir à me soucier des heures
d'été et d'hiver. Peut-être qu'il y avait plus simple avec directement
MySQL (avec CONVERT_TZ) mais là ça marche parfaitement.

@+

Benjamin