2011-09-20 83 views
80

Estoy tratando de descubrir las diferencias entre los módulos datetime y time, y para qué se deben usar.Diferencia entre los módulos Python datetime vs time

Sé que datetime proporciona fechas y horas. ¿Para qué sirve el módulo time?

Se apreciarían algunos ejemplos y las diferencias relativas a las zonas horarias serían especialmente interesantes.

Respuesta

62

el módulo time es principalmente para trabajar con marcas de tiempo de Unix; expresado como un número de punto flotante tomado como 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 orientado a objetos, y también tiene un soporte limitado para zonas horarias.

+7

Además, ¿cuáles son las diferencias entre 'time' y' datetime.time'? – SparkAndShine

+0

Sería bueno detallar propiedades como si fuera en tiempo real/monotónico. Como en el estándar POSIX tienes: CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_THREAD, etc ... En los relojes POSIX ver: http://stackoverflow.com/questions/3523442/difference-between-clock-realtime-and-clock-monotonic –

3

El módulo de tiempo se puede utilizar 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 necesitaría el tiempo. Sin embargo, el tipo de datos de tiempo generalmente se usa 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 para un día en particular, entonces se puede usar el módulo de tiempo.

Fecha y hora se utiliza para almacenar datos y horas en particular para un registro. Como en una agencia de alquiler. La fecha de vencimiento sería un tipo de datos de fecha y hora.

3

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

+4

parece que le interesan más los módulos de hora y fecha y las diferencias de zonas horarias entre ellos. con el debido respeto, traer otra dependencia a esto es casi irrelevante. – sbartell

+2

El soporte de zonas horarias en los módulos de tiempo y fecha y hora es realmente muy pobre ... si realmente está interesado en manejar zonas horarias de una manera útil, entonces realmente debería saber sobre pytz. Usted trae dependencias para resolver el problema de que sus dependencias actuales no lo ayudan a resolver su problema ... – donkopotamus

0

Se adhieren a time para evitar la ambigüedad del horario de verano.

Personalmente, prefiero usar solo el módulo del sistema time para prevent ambiguity issues with daylight savings time (DST).

Conversión a cualquier formato de hora local, incluyendo el tiempo de allí es bastante fácil:

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

Si el sistema funciona, además, el demonio network time protocol (NTP), que tendrá base de tiempo bastante sólido.

Cuestiones relacionadas