[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.
    1. Modérateur
      401000 ??

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

      Je suis sous 2.4.1.

      Je vais essayer.
      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...
        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...
          1. Contributeur
            Salut Seb,

            T'es sous 2.3?

            Ca peut pas être les - qui foutent le bordel ?