2012-04-21 20 views
21
import time 
t = time.ctime() 

Per il momento, t è 'Sat Apr 21 11:58:02 2012'. Ho più dati come questo.Come convertire `ctime` in` datetime` in Python?

La mia domanda è:

  • Come convertire t-datetime in Python? Ci sono dei moduli per farlo?

Ho provato a fare un tempo dict e poi convertire t, ma sentire come non è questo il modo migliore per farlo in Python.

Dettagli:

  • Ho un ctime lista (come ['Sat Apr 21 11:56:48 2012', 'Sat Apr 21 11:56:48 2012']).
  • Voglio convertire il contenuto in datetime, quindi memorizzarlo in un db con timestamp.
+2

Perché non solo fare 'da import datetime DateTime'' datetime.now() ' – jamylak

+0

esattamente, ho una stringa: "Sab Apr 21 11:58:02 2012" e voglio convertirla in datetime. – flreey

+0

La conversione da stringhe del genere non è l'ideale, ma questa domanda ottiene quella risposta. –

risposta

24

Si dovrebbe usare strptime: questa funzione analizza una stringa che rappresenta un tempo secondo un formato. Il valore di ritorno è una struct_time.

Il parametro di formato per impostazione predefinita è %a %b %d %H:%M:%S %Y che corrisponde alla formattazione restituita da ctime().

Quindi nel tuo caso basta provare la seguente riga, dal momento che il formato predefinito è quello ctime:

import datetime 
import time 

datetime.datetime.strptime(time.ctime(), "%a %b %d %H:%M:%S %Y") 
+0

Io provo in questo modo per ore, ma non riesco ancora a convertire 'Sat Apr 21 11: 58:02 2012 'su datetime correttamente. – flreey

+0

@flreey l'ha appena corretto, ora dovrebbe funzionare bene. –

+0

grazie, è colpa mia, ho inserito parametri errati.datetime.strptime (time.ctime(), '% a% b% d% H:% M:% S% Y') funziona – flreey

Problemi correlati