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 :

Question à propos de datetime


Sujet :

Python

  1. #1
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut Question à propos de datetime
    Bonjour,
    je voulais savoir si quelque chose comme theDate.strftime("%a %d %b %Y"), où theDate = datetime.date(2010, 3, 20), renvoie toujours la date mise en forme en anglais.

    Si ce n'est pas le cas, peut-on forcer ce fonctionnement ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut rambc

    Je ne sais pas comment tu te débrouilles
    Chez moi ca se passe ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> import datetime
    >>> x = datetime.date(2010,1,1)
    >>> x
    datetime.date(2010, 1, 1)
    >>> print x
    2010-01-01
    >>> print x.strftime("%Y%m%dT%H%M%S")
    20100101T000000
    >>> print x.isoformat()
    2010-01-01
    >>>
    Montres nous un exemple?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Je n'utilise pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x.strftime("%Y%m%dT%H%M%S")
    mais par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x.strftime("%a %d %b %Y")
    Ceci donne :

  4. #4
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    L'idée que j'ai en tête est une traduction des noms de mois et de jours en français, mais aussi dans d'autres langues.

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    Je me suis renseigné, parce que je me mélange toujours les pinceaux concernant les dates:


    en anglais:
    Thursday 9th April 2009
    ou
    Thursday 9 April 2009


    en américain:
    Wednesday, July 14 2010
    ou
    Wednesday, July 14th 2010



    Si tu veux l’expression de la date en anglais, il me semble que ton expression convient parfaitement, du point de vue de l’ordre des éléments.

    Si tu veux obtenir le th dans l’expression de la date, il faut rajouter ces caractères dans la chaîne de formatage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    theDate.strftime("%a %dth %b %Y")
    Rien de particulier

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    La doc dit que
    %a = Locale's abbreviated weekday name.
    %b = Locale's abbreviated month name.
    etc.

    Il doit suffire de changer les spécifications de calendrier dans la locale pour obtenir la traduction toute faite.

  7. #7
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Dans ce cas, comment fait-on pour avoir les noms en français, en espagnol ?... Si c'est faisable bien entendu.

  8. #8
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    Jamais utilisé, mais sans doute avec module locale

  9. #9
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Voilà ce qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #! /usr/bin/env python
     
    import datetime
    import locale # http://docs.python.org/library/locale.htmls
     
    theDate = datetime.date(2010, 2, 2)
     
    loc = locale.getlocale()
     
    locale.setlocale(locale.LC_ALL, 'fr_FR')
    print(theDate.strftime("%A %d %B %Y"))
     
    locale.setlocale(locale.LC_ALL, loc)
    print(theDate.strftime("%A %d %B %Y"))
    Ce n'est pas parfait car j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Mardi 02 février 2010
    Tuesday 02 February 2010

  10. #10
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    C’est bien d’y être arrivé. Qu’est ce que tu trouves pas bon ?

  11. #11
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Il manque le f majuscule à Février.

  12. #12
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    print(theDate.strftime("%A %d %B %Y").capitalize())

  13. #13
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Pas de souci. Mais cela n'empêche pas que la traduction n'est pas cohérente avec la version anglaise.

    Ceci étant dit, il y a peut-être des règles typographiques qui justifient cela.

  14. #14
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    Les noms des jours de la semaine, tout comme les noms des mois, sont des noms communs. Ils sont donc variables en nombre et s’écrivent en minuscules. On écrira ainsi : Les membres de l’Académie française se réunissent tous les jeudis.

    http://www.academie-francaise.fr/lan...ourdelasemaine

    Vu aussi sur http://fr.answers.yahoo.com

    « déposez votre flèche de la souris sur l'heure de votre ordi.
    vous allez voir que février est écrit » en minuscule


    =======================



    Dans le site suivant
    http://www.anglaispratique.fr/Dates.html
    des précisions sont apportées sur les dates en anglais:


    forme la plus courante en anglais écrit:
    Friday 12 September 2008

    variantes en anglais écrit:
    Friday 12th September 2008
    Friday, September 12th, 2008
    Friday, September 12, 2008

    pour la forme la plus courante en américain, il est donné
    Friday, September 12, 2008



    Les 3 dernières formes ont cette fois une 2ième virgule.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Points : 15
    Points
    15
    Par défaut
    Je me lance dans une réponse rapide en me servant de ma mémoire et au risque de dire une grosse bêtise :

    Une règle ortho-typographique est que les mois en Francais ne prennent PAS de majuscule contrairement à l'anglais où il FAUT une majuscule

    Donc au contraire, ton code respecte bien la typo du pays

    [Edit : Grillé le temps de lire le fil et d'y répondre...]

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

Discussions similaires

  1. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  2. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  3. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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