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

Para mí en este momento, t es 'Sat Apr 21 11:58:02 2012'. Tengo más datos como este.Cómo convertir `ctime` a` datetime` en Python?

Mi pregunta es:

  • Cómo convertir a tdatetime en Python? ¿Hay algún módulo para eso?

Traté de hacer un tiempo de dict y luego convertir t, pero siente que esa no es la mejor manera de hacerlo en Python.

Detalles:

  • que tienen una lista ctime (como ['Sat Apr 21 11:56:48 2012', 'Sat Apr 21 11:56:48 2012']).
  • Quiero convertir el contenido a datetime, luego almacenar eso en un db con timestamp.
+2

¿Por qué no hacer de '' import datetime datetime' datetime.now() ' – jamylak

+0

exactamente, tengo una cadena: 'sáb 21 de abril, 11:58:02 2012', y quiero convertirlo a fecha y hora. – flreey

+0

Convertir cadenas de ese tipo es menos que ideal, pero esta pregunta obtiene esa respuesta. –

Respuesta

24

Debe utilizar strptime: esta función analiza una cadena que representa un tiempo de acuerdo con un formato. El valor de retorno es un struct_time.

El parámetro de formato tiene como valor predeterminado %a %b %d %H:%M:%S %Y que coincide con el formato devuelto por ctime().

Así, en su caso acaba de tratar la siguiente línea, ya que el formato por defecto es el de ctime:

import datetime 
import time 

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

Lo intento durante horas, pero todavía no puedo convertir 'Sáb Abr 21 11: 58:02 2012 'hasta la fecha correcta. – flreey

+0

@flreey acaba de arreglarlo, esto debería funcionar bien ahora. –

+0

gracias, es mi culpa, puse los parámetros incorrectos.datetime.strptime (time.ctime(), '% a% b% d% H:% M:% S% Y') trabaja – flreey