2010-07-13 19 views
5

¿Se prefiere uno sobre el otro? Si es así, en todos los casos o solo unos pocos?¿Cuáles son las diferencias entre struct_time y datetime?

Tengo la intención de utilizar algún tipo de clase de fecha para mantener largas listas de datos de fecha y hora, p. '2009-01-01 10:12:00'.

+0

Si ejecuta "import datetime; datetime.datetime.today(); datetime.datetime.today(). Timetuple();" - el primero es un datetime, el último es un struct_time. Un dir() alrededor del valor expondrá las diferencias API, aunque esto no responde a su pregunta. – Metalshark

+0

'datetime's son más fáciles de cambiar que' struct_time's que son un tipo de datos inmutables como 'tuple' (porque eso es lo que es efectivamente). – martineau

Respuesta

5

struct_time es la forma antigua de representar tiempos, modelada después de la biblioteca estándar C. datetime llegó más tarde, es más pitónico, tiene más características y tiene un comportamiento más predecible en los casos extremos que las funciones struct_time. Utilizaría datetime excepto en los casos excepcionales en que una diferencia de rendimiento medida es lo suficientemente importante como para importar, o donde hace que el código sea significativamente menos legible.

2

datetime es más orientado a objetos y ofrece muchas funciones prácticas, p. aritmética con timedelta -objetos.

Cuestiones relacionadas