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 :

Date formatée des 100 dernières timestamp


Sujet :

Python

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 37
    Points
    37
    Par défaut Date formatée des 100 dernières timestamp
    Bonjour à tous!

    Je bloque actuellement sur un problème qui me semble simple, et malgré de multiples essai et la lecture de la documentation, ça marche jamais

    Je souhaite récuperer la date des 100 dernières secondes, (pour info, c'est ça que je veux, et pas autre chose, il n'y a que cette solution qui m'aille)

    time.strftime("%d%m%Y - %H:%M:%S") # renvoie la date actuelle de façon formatée

    mais j'aurais voulu pouvoir lui passer un timestamp en paramètre, je sais que c'est possible, mais c'est une liste à lui passer et je ne connait que le timestamp.

    voilà mon simple code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import time,datetime
    number=0
    while number<100:
    	print(datetime.fromtimestamp(time.time()-number))
    	#on utilise strftime pour la suite
    	number+=1
    et voilà l'erreur rencontré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    datetime.fromtimestamp(time.time())
    AttributeError: 'module' object has no attribute 'fromtimestamp'
    Pouvez-vous m'aider ?

    ps : ma version de python 3.2.2

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    En faisant : tu importe le module time et le moduledatetime

    Pour faire ce que tu souhaite, tu aura besoin de la classedatetime
    que tu importera comme suit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from datetime import datetime

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    Je comprend pas tout ^^" j'import tout le module, ça marche pas, et là si....

    Bref, j'y réfléchirais à tête reposé

    Merci beaucoup à toi!

    voilà le code final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import time
    from datetime import datetime
    time_start=int(time.time())
    number=0
    while number<100:
    	print(datetime.fromtimestamp(time_start-number))
    	number+=1

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    C'est très simple:

    Dans ton premier code tu cherchais à utiliser une fonction fromtimestamp
    qui existerait au niveau du module. Mais celui-ci n'en dispose pas.

    Par contre, la classe datetime a une méthode qui permet d'en construire une instance à partir d'un timestamp.

    Ainsi, si tu veux absolument importer tout le module, il faudra écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datetime.datettime.fromtimestamp(time_start-number)
    Par ailleurs, j'ai l'impression que suivre un tuto sur les bases de la poo ne te ferait pas de mal.

    L'idée de base est que tout est objet en python. Ainsi, plutôt que d'écrire des modules qui sont des collections de structures et de fonction (comme en c), on y définira des classes qui embarquera à la fois données et méthodes fonctionnant sur celles-ci.

    Cela permet au fonctions génériques, toujours disponibles, de "marcher" avec un de nouveaux objets sans modifications.

    J'en veux pour seul exemple la fonction str. Tout ce qu'elle fait est d'appeler
    la méthode spéciale __str__ de l'objet qu'on lui passe en argument.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut Oups !
    Mon bout de code est incorrect. Il fait plutôt écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datetime.datetime.fromtimestamp(time_start-number)
    (sans redoubler le t)

  6. #6
    En attente de confirmation mail
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    @chticricri
    Merci pour l'explication, je comprend mieux

    Pour la POO, je connait (je suis pas un expert non plus) mais instance, attributs, methode, je comprend
    De plus ce bout de code, fait partie d'un projet coder en POO...

    Encore merci par ton explication, on m'y reprendras plus, c'est juré !

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,
    Je ne vois pas l'intérêt de passer par datetime alors qu'on a déjà les "bonnes" fonctions dans "time":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import time
     
    def get_timestamps(start=0, count=100):
        start = start or time.time()
        return [ time.strftime ("%d%m%Y - %H:%M:%S",
                                time.gmtime(start-n)
                                ) for n in range(count) ]
     
    print (get_timestamps(count=10))
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Conservation des 100 dernières lignes d'une table
    Par JCD21 dans le forum Débuter
    Réponses: 8
    Dernier message: 01/06/2011, 18h21
  2. Format des dates
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h03
  3. Comparaison de 2 dates dans des formats différents
    Par frdek dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/02/2005, 15h05
  4. [C#] Format des dates pour une ComboBox...
    Par frechy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/01/2005, 17h08
  5. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15

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