[Python] Problème de date.

Bonjour tout le monde.
J'ai un petit soucis de date avec Python.

Je veux convertir une date du format texte au format DateTime.

Donc je fais (by the book):

import time
import datetime

madate = "2006-02-03 09:36:00"

print datetime.datetime.fromtimestamp(time.strptime(madate,"%Y-%m-%d %H:%M:%S"))


Mais il me sort: TypeError: a float is required

Pourquoi est-ce que la fonction fromtimestamp me demande un float ???
La doc ne précise rien concernant des floats.

Si vous avez une idée... :-.

5 réponses

  1. Modérateur
    Ayé j'ai trouvé:
    madate = "2006-02-03 09:36:00"
    print datetime.datetime.fromtimestamp(time.mktime(time.strptime(madate,"%Y-%m-%d %H:%M:%S")))


    ça marche.

    time.strptime() renvoie un tuple, alors que time.time() renvoie un flottant (pas très cohérent, au passage...)
    Et fromtimestamp attendait bien un flottant.
    2
    1. Contributeur
      Salut Seb,

      T'es sous 2.3?

      Ca peut pas être les - qui foutent le bordel ?
      0
      1. Contributeur
        madate = "2006-02-03 09:36:00"
        
        print time.strptime(madate,"%Y-%m-%d %H:%M:%S")
        
        


        (2006, 2, 3, 9, 36, 0, 4, 34, -1)


        Il manque donc des paramètres à ta date apparement pour qu'il le prenne normalement...
        0
        1. Contributeur
          >>> datetime.datetime.today()
          datetime.datetime(2006, 2, 20, 16, 49, 56, 401000)

          Je sais pas ce que représente 401000 mais je parie que c'est ça qui lui manque...
          0
          1. Modérateur
            401000 ??

            ah... oui ça doit être ça.

            Je suis sous 2.4.1.

            Je vais essayer.
            0