Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quel jour on est ?

Sujet résolu
    28 juillet 2010 à 10:15:15

    Bonjour je suis débutant sur Python j'aimerai savoir si il existe une fonction pour savoir quel jour on est, plus précisément le 1 janvier est le numéro 1 et le 31 décembre le numéro 365.

    Y a t'il une fonction pour me dire quel numéro du jour dans l'année on est?


    Merci d'avance ! ;)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      28 juillet 2010 à 10:27:22

      >>> import time
      >>> print time.strftime('%d/%m/%y %H:%M',time.localtime())
      28/07/10 10:25


      >>> print time.strftime('nous sommes le %d', time.localtime())
      nous sommes le 28


      >>> jour=time.strftime('%d', time.localtime())
      >>> print "on est le %s juillet" %jour
      >>> on est le 28 juillet
      • Partager sur Facebook
      • Partager sur Twitter
        28 juillet 2010 à 10:31:05

        Merci de ta réponse mais je ne veux pas afficher la date et l'heure.

        Je veux afficher par exemple aujourd'hui on est le 127 jours de l'année (c'est faux je dit sa au pif) .
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          28 juillet 2010 à 10:36:43

          >>> time.localtime()
          time.struct_time(tm_year=2010, tm_mon=7, tm_mday=28, tm_hour=10, tm_min=34, tm_sec=30, tm_wday=2, tm_yday=209, tm_isdst=1)
          >>> time.localtime()[7]
          209
          • Partager sur Facebook
          • Partager sur Twitter
            28 juillet 2010 à 10:40:09

            Citation : fred1599

            >>> time.localtime()
            time.struct_time(tm_year=2010, tm_mon=7, tm_mday=28, tm_hour=10, tm_min=34, tm_sec=30, tm_wday=2, tm_yday=209, tm_isdst=1)
            >>> time.localtime()[7]
            209


            Ou alors, pour éviter d'utiliser un magic number (« que signifie ce 7 ? ») :

            >>> time.localtime().tm_yday
            209
            
            • Partager sur Facebook
            • Partager sur Twitter
            Zeste de Savoir, le site qui en a dans le citron !
            Anonyme
              28 juillet 2010 à 10:41:01

              Citation

              Ou alors, pour éviter d'utiliser un magic number («que signifie ce 7 ?») :



              La même chose que toi :)
              • Partager sur Facebook
              • Partager sur Twitter
                28 juillet 2010 à 10:42:28

                J'ai pas compris ta réponse...
                • Partager sur Facebook
                • Partager sur Twitter
                Zeste de Savoir, le site qui en a dans le citron !
                Anonyme
                  28 juillet 2010 à 10:44:36

                  Le 7 est l'index de time.localtime(), qui représente le numéro du jour dans l'année.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 juillet 2010 à 10:49:54

                    Citation : fred1599

                    Le 7 est l'index de time.localtime(), qui représente le numéro du jour dans l'année.



                    Non mais ça, d'accord, mais imagine que tu lises un code dans lequel tu tombes sur la ligne :
                    time.localtime()[7]
                    Il perd toute sa sémantique (sans autre information que cette ligne, tu ne sais rien de la signification de ce 7... c'est donc un "magic number"), alors que l'accès à l'attribut tm_yday a une signification ("yearday", jour de l'année).

                    Encore une fois, c'est par soucis d'éviter à la personne qui va relire le code de s'arracher les cheveux. ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Zeste de Savoir, le site qui en a dans le citron !
                      28 juillet 2010 à 10:53:46

                      Merci beaucoup pour votre aide ! :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        28 juillet 2010 à 10:54:18

                        Bonjour,

                        Je pense que ce que recherche DjChat se trouve plutôt du coté du module datetime :

                        Citation : Python Documentation [Extrait]


                        >>> import time
                        >>> from datetime import date
                        >>> today = date.today()
                        >>> today
                        datetime.date(2007, 12, 5)
                        >>> today == date.fromtimestamp(time.time())
                        True
                        >>> my_birthday = date(today.year, 6, 24)
                        >>> if my_birthday < today:
                        ...     my_birthday = my_birthday.replace(year=today.year + 1)
                        >>> my_birthday
                        datetime.date(2008, 6, 24)
                        >>> time_to_birthday = abs(my_birthday - today)
                        >>> time_to_birthday.days
                        202
                        




                        @+
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          28 juillet 2010 à 10:59:11

                          Mais non!!! o_O

                          Je lui ai dis d'où ça venait

                          >>> time.localtime()
                          time.struct_time(tm_year=2010, tm_mon=7, tm_mday=28, tm_hour=10, tm_min=34, tm_sec=30, tm_wday=2, tm_yday=209, tm_isdst=1)


                          On peut l'avoir aussi comme ca


                          >>> time.strftime('%j', time.localtime())
                          '209'
                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 juillet 2010 à 11:14:48

                            Citation : NoHaR


                            Il perd toute sa sémantique (sans autre information que cette ligne, tu ne sais rien de la signification de ce 7... c'est donc un "magic number"),




                            Tu me donnes à nouveau l'occasion de faire de la pub pour cet excellent livre :

                            Kernighan, Pike, La Programmation en pratique, Vuibert (2001)


                            qui décrit de nombreux principes généraux de programmation et qui contient en particulier presque 4 pages sur les "nombres magiques". Voir aussi ce site ICI.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 juillet 2010 à 11:41:50

                              Citation : fred1599

                              Mais non!!! o_O
                              Je lui ai dis d'où ça venait



                              Je ne remets pas ça en cause, je dis juste que si tu trouves cet appel (exactement de cette manière) dans un code complet (pas juste un simple exemple console, un vrai code qui fait des trucs), elle est moins compréhensible que si tu accédais simplement à l'attribut en le nommant (parce que quand tu lis un code complet -- qui ne contiendra donc pas l'explication que tu as donné à la ligne du dessus --, tu n'as aucune idée d'où vient ce "7" et tu es obligé de faire des tests en console pour comprendre que c'est l'indice de l'attribut tm_yday).


                              • Partager sur Facebook
                              • Partager sur Twitter
                              Zeste de Savoir, le site qui en a dans le citron !

                              Quel jour on est ?

                              × 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