2010-07-13 13 views
5

Si preferisce l'altro? Se sì, in tutti i casi o solo in pochi?Quali sono le differenze tra struct_time e datetime?

Ho intenzione di utilizzare una qualche forma di data class per conservare lunghi elenchi di dati di data e ora, ad es. '2009-01-01 10:12:00'.

+0

Se si esegue "import datetime; datetime.datetime.today(); datetime.datetime.today(). Timetuple();" - il primo è un datetime, il secondo è un struct_time. Un dir() attorno al valore esporrà le differenze API - anche se questo non risponde alla tua domanda. – Metalshark

+0

'datetime's sono più facili da modificare rispetto a' struct_time's che sono un tipo di dati immutabile come una 'tuple' (perché è quello che è effettivamente). – martineau

risposta

5

struct_time è il vecchio modo di rappresentare i tempi, modellato sulla libreria standard C. datetime è venuto dopo, è più pitonico, è più ricco di funzionalità e ha un comportamento più prevedibile nei casi limite rispetto alle funzioni struct_time. Vorrei usare datetime tranne nei rari casi in cui una differenza di prestazioni misurata è abbastanza significativa da importare o dove rende il codice significativamente meno leggibile.

2

datetime è più orientato agli oggetti e offre molte funzioni utili, ad es. aritmetica con timedelta -oggetti.

Problemi correlati