2013-05-15 10 views

risposta

5

time.time() restituisce secondi since epoch, quindi non definisce l'ora in cui viene utilizzato lo standard o la zona.

Converti in standard di tempo utilizzando:

Entrambi restituiscono un time.struct_time.

>>> t = time.time() 
>>> time.localtime(t) 
time.struct_time(tm_year=2013, tm_mon=5, tm_mday=15, tm_hour=2, tm_min=41, tm_sec=49, tm_wday=2, tm_yday=135, tm_isdst=1) 
>>> time.gmtime(t) 
time.struct_time(tm_year=2013, tm_mon=5, tm_mday=15, tm_hour=0, tm_min=41, tm_sec=49, tm_wday=2, tm_yday=135, tm_isdst=0) 
15

Tecnicamente, time.time() non specifica, e praticamente, almeno in CPython, restituisce un timestamp in qualsiasi formato viene utilizzato dalla funzione sottostante della libreria standard C time.

Lo standard C (che non è disponibile gratuitamente) non indica se si tratta di GMT e nemmeno lo POSIX standard. Dice solo:

La funzione time() restituisce il valore del tempo in secondi da Epoch.

... senza dire nulla di fuso orario, tranne che è possibile passare a localtime o gmtime per ottenere un "tempo rotto-down" in fusi orari locali o GMT.

Quindi, questo è specifico della piattaforma. Una piattaforma può restituire tutto ciò che desidera per time, a condizione che lo faccia in un modo che fa funzionare localtime e gmtime correttamente.

Detto questo, è di solito che sarà GMT-o, piuttosto, UTC (Windows) o UTC-eccetto-per-balzo-secondi (la maggior parte delle altre piattaforme). Ad esempio, FreeBSD dice:

La funzione time() restituisce il valore di tempo in secondi dal 0 ore, 0 minuti, 0 secondi, 1 gennaio 1970, tempo universale coordinato, senza includere secondo salto.

OS X e la maggior parte degli altri sistemi BSD * hanno la stessa pagina di manuale, Windows e linux/glibc anche specificamente tornare UTC (con o senza secondo salto), ecc

Inoltre, la documentazione Python dice:

Per scoprire cos'è l'epoca, guarda gmtime(0).

Mettendo che, insieme con le definizioni per time e gmtime, sarebbe molto più lavoro per una piattaforma per tornare timestamp locali di GMT.(Ciò detto, questa affermazione non può essere così autorevole, perché in realtà non è del tutto vera per nessuna piattaforma POSIX, grazie ai secondi bisestili.)

Problemi correlati