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?