Cambiar fecha y hora a sello de tiempo Unix en Python

Ayúdeme a cambiar el objeto de fecha y hora (por ejemplo: 2011-12-17 11:31:00-05:00 ) (incluida la zona horaria) a la marca de tiempo de Unix (como la función time.time () en Python).

Otra forma es:

 import calendar from datetime import datetime d = datetime.utcnow() timestamp=calendar.timegm(d.utctimetuple()) 

La marca de tiempo es la marca de tiempo de Unix que muestra la misma fecha con el objeto datetime d.

 import time import datetime dtime = datetime.datetime.now() ans_time = time.mktime(dtime.timetuple()) 

Respuesta incompleta (no se ocupa de las zonas horarias), pero espero que sea útil:

 time.mktime(datetime_object.timetuple()) 

** Editado en base al siguiente comentario **

En mi progtwig, el usuario ingresa datetime, selecciona zona horaria. … Creé una lista de zonas horarias (use pytz.all_timezones) y permití al usuario elegir una zona horaria de esa lista.

El módulo Pytz proporciona las conversiones necesarias. Por ejemplo, si dt es su objeto de datetime y datetime , y el usuario seleccionó ‘US / Eastern’

 import pytz, calendar tz = pytz.timezone('US/Eastern') utc_dt = tz.localize(dt, is_dst=True).astimezone(pytz.utc) print calendar.timegm(utc_dt.timetuple()) 

El argumento is_dst=True es resolver tiempos ambiguos durante los intervalos de 1 hora al final del horario de verano (consulte aquí http://pytz.sourceforge.net/#problems-with-localtime ).