str from python mysql time timestamp

from - timestamp python



Convierte la marca de tiempo mysql en tiempo de época en python (4)

Convierta la marca de tiempo de mysql a la hora de la época en python: ¿hay alguna manera fácil de hacerlo?


¿Por qué no dejar que MySQL haga el trabajo duro?

seleccione unix_timestamp (fieldname) from tablename;


Si no quiere que MySQL haga el trabajo por algún motivo, puede hacerlo en Python con la suficiente facilidad. Cuando recuperas una columna de fecha y hora de MySQLdb, obtienes un objeto Python datetime.datetime. Para convertir uno de estos, puede usar time.mktime. Por ejemplo:

import time # Connecting to database skipped (also closing connection later) c.execute("SELECT my_datetime_field FROM my_table") d = c.fetchone()[0] print time.mktime(d.timetuple())


convirtiendo el tiempo de mysql en época:

>>> import time >>> import calendar >>> mysql_time = "2010-01-02 03:04:05" >>> mysql_time_struct = time.strptime(mysql_time, ''%Y-%m-%d %H:%M:%S'') >>> print mysql_time_struct (2010, 1, 2, 3, 4, 5, 5, 2, -1) >>> mysql_time_epoch = calendar.timegm(mysql_time_struct) >>> print mysql_time_epoch 1262401445

convirtiendo epoch a algo que MySQL puede usar:

>>> import time >>> time_epoch = time.time() >>> print time_epoch 1268121070.7 >>> time_struct = time.gmtime(time_epoch) >>> print time_struct (2010, 3, 9, 7, 51, 10, 1, 68, 0) >>> time_formatted = time.strftime(''%Y-%m-%d %H:%M:%S'', time_struct) >>> print time_formatted 2010-03-09 07:51:10


Utilizo algo como lo siguiente para obtener segundos desde la época (UTC) de una fecha de MySQL (hora local):

calendar.timegm( time.gmtime( time.mktime( time.strptime(t, "%Y-%m-%d %H:%M:%S"))))

Más información en esta pregunta: ¿Cómo convierto la hora local a UTC en Python?