IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

appliquer l'heure d'été sur une date "naïve"


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 666
    Par défaut appliquer l'heure d'été sur une date "naïve"
    Bonjour,

    je récupère régulièrement une date* sur un site qui n'applique pas l'heure d'été**.
    en hiver tout va bien, mais en été la date affichée a une heure de retard.

    je n'arrive pas à dire aux moteurs de recherche ce que je cherche (ou il ne comprend rien )

    donc, j'ai une "date" à laquelle je voudrais appliquer l'heure d'été (ajouter une heure en été, et pas en hiver) sans avoir à réinventer la roue, parce que je me doute qu'elle existe, et ce que je fais tourne carré (quand ça tourne ).
    et je ne sais pas comment faire.



    --
    * je récupère du texte que je transforme en date avec datetime().
    ** je ne sais pas pourquoi, il considère que c'est à l'utilisateur de configurer le DST dans ses paramètres de compte, et je n'ai pas de compte !
    les données horaires sont donc affichées sans DST.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Dans le module pytz, la fonction localize a un paramètre is_dst, est-ce que ça pourrait être un point de départ ?
    Mais pour ça il serait bien de savoir aussi le fuseau horaire du site en question et d'appliquer le même timezone pour créer un datetime "time zone-aware".

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par N_BaH Voir le message
    sans avoir à réinventer la roue, parce que je me doute qu'elle existe
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import pytz
    from datetime import datetime
     
    paris_tz = pytz.timezone('Europe/Paris')
     
    hiver = datetime(2023, 2, 23, 17)
    print(hiver.astimezone(paris_tz))
     
    ete = datetime(2023, 6, 23, 17)
    print(ete.astimezone(paris_tz))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 666
    Par défaut
    c'est là le problème, en ce moment (heure d'été), je reçois 2023 4 26 18 14, parce que le site n'applique pas l'heure d'été.
    je voudrais obtenir 2023 4 26 19 14
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    je voudrais obtenir 2023 4 26 19 14
    Tu n'as pas testé mon code précédent. Ou alors tu n'as pas regardé son résultat. Pour l'heure d'hiver ça indique "+01:00" (soit 1h de décalage sur l'heure solaire) et pour l'heure d'été ça indique "+02:00". Donc l'info sur le décalage à apporter existe, ne reste qu'à la récupérer et à l'appliquer

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import pytz
    from datetime import datetime
     
    paris_tz = pytz.timezone('Europe/Paris')
     
    date_from_site = datetime(2023, 6, 26, 18, 14)
    my_date=date_from_site.astimezone(paris_tz)
    dst=my_date.tzinfo.dst(my_date)
    print(dst)
    print(my_date + dst)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 666
    Par défaut
    super !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_date.tzinfo.dst(my_date)
    je n'aurais pas trouvé.

    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    je n'aurais pas trouvé.
    La doc Python m'a beaucoup aidé. Le seul avantage que j'ai sur toi c'est un peu plus d'expérience ce qui m'a permis de savoir rapidement où chercher
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête sur une date en spécifiant l'heure
    Par mcfly37 dans le forum SQL
    Réponses: 3
    Dernier message: 26/03/2013, 16h47
  2. [WD14] Calcul sur une Date Heure
    Par TELKA dans le forum WinDev
    Réponses: 3
    Dernier message: 12/04/2010, 11h47
  3. [CR 2008] Extraction sur une date/heure
    Par campia dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 16/06/2009, 16h10
  4. Réponses: 1
    Dernier message: 29/10/2007, 12h43
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo