Partage
  • Partager sur Facebook
  • Partager sur Twitter

Décalage horaire répercuté sur les dates d'un site

Comme le SdZ le permet

    5 novembre 2006 à 18:45:30

    Depuis que j'ai vu l'article de Bison, j'utilise le timestamp mysql pour gérer les dates.

    Seulement, je me demandais comment procéder pour pouvoir réécrire les dates pour des personnes ayant un décalage horaire par rapport au serveur (en ayant renseigné le décalage dans un champs de la bdd) : par exemple, un visiteur français verrais comme date 20h et un visiteur québécois verrais 14h (6h de décalage).

    J'ai donc fait un recherche sur les fonctions mysql et je suis tombé sur ces 2 fonctions :

    Citation : Doc MySQL


    ADDTIME(expr,expr2)

    ADDTIME() ajoute expr2 à expr et retourne le résultat. expr est une expression de type DATE ou DATETIME, et expr2 est une expression de type TIME.

    mysql> SELECT ADDTIME("1997-12-31 23:59:59.999999", "1 1:1:1.000002");
            -> '1998-01-02 01:01:01.000001'
    mysql> SELECT ADDTIME("01:00:00.999999", "02:00:00.999998");
            -> '03:00:01.999997'



    ADDTIME() a été ajouté en MySQL 4.1.1.



    Citation : Doc MySQL


    SUBTIME(expr,expr2)

    SUBTIME() soustrait expr2 de expr et retourne le résultat. expr est une expression de format DATE ou DATETIME et expr2 est une expression de type TIME.

    mysql> SELECT SUBTIME("1997-12-31 23:59:59.999999", "1 1:1:1.000002");
            -> '1997-12-30 22:58:58.999997'
    mysql> SELECT SUBTIME("01:00:00.999999", "02:00:00.999998");
            -> '-00:59:59.999999'



    SUBTIME() a été ajoutée en MySQL 4.1.1.



    L'une sert à ajouter, l'autre à soustraire. J'aimerais savoir comment procéder pour les utiliser quand il faut, et de manière "relativement optimisée".

    Je saurais le faire en créant un champ qui dise si le décalage est positif ou négatif (exemple, respectivement, le Québec et le Japon), et alors appliquer la fonction adéquate. Mais n'y a-t-il pas un moyen de faire cela en une seule requête et moins laborieusement ?

    Merci beaucoup :)
    • Partager sur Facebook
    • Partager sur Twitter

    Décalage horaire répercuté sur les dates d'un site

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown