Diferencia entre los módulos datetime vs time de Python

Estoy tratando de descubrir las diferencias entre los módulos datetime y time , y para qué se debe usar cada uno.

Sé que datetime proporciona tanto fechas como horas. ¿Cuál es el uso del módulo de time ?

Se apreciarían ejemplos y las diferencias con respecto a las zonas horarias serían especialmente interesantes.

el módulo de time es principalmente para trabajar con sellos de tiempo de Unix; expresado como un número de punto flotante tomado en segundos desde la época de Unix. El módulo datetime puede admitir muchas de las mismas operaciones, pero proporciona un conjunto de tipos más orientados a objetos y también tiene algún soporte limitado para zonas horarias.

El módulo de tiempo se puede usar cuando solo necesita el tiempo de un registro en particular, como digamos que tiene una tabla / archivo separado para las transacciones de cada día, entonces solo necesita el tiempo. Sin embargo, el tipo de datos de tiempo se usa generalmente para almacenar la diferencia de tiempo entre 2 puntos de tiempo.

Esto también se puede hacer usando datetime, pero si solo estamos tratando con el tiempo de un día en particular, entonces se puede usar el módulo de tiempo.

Datetime se utiliza para almacenar un dato y tiempo en particular para un registro. Como en una agencia de alquiler. La fecha de vencimiento sería un tipo de datos datetime.

Si está interesado en las zonas horarias, debe considerar el uso de pytz.

Sigue el time para evitar la ambigüedad DST.

Utilice exclusivamente el módulo de datetime del sistema en lugar del módulo de datetime para evitar problemas de ambigüedad con el horario de verano (DST) .

La conversión a cualquier formato de hora, incluida la hora local, es bastante sencilla:

 import time t = time.time() t_str = time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t)) 

Si el sistema además ejecuta el demonio del protocolo de tiempo de red (NTP) , uno termina con una base de tiempo bastante sólida.