Devo generare un timestamp UNIX in ora UTC, quindi sto utilizzando time.time()
per produrlo.
Devo fare qualcos'altro oppure il timestamp è automaticamente in UTC?Time.time() di Python restituisce un timestamp in UTC?
risposta
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:
time.localtime([secs])
- Ora locale come definito dal sistema operativotime.gmtime([secs])
- UTC
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)
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.)
- 1. PHP time() restituisce un timestamp GMT/UTC?
- 2. Come .Scan() un valore TIMESTAMP MySQL in una variabile time.Time?
- 3. Converti OffsetDateTime in UTC Timestamp
- 4. Creazione timestamp UTC in Javascript
- 5. momentoJS ottenere il timestamp UTC
- 6. Python: Converti time-tuple UTC in formato ora UTC
- 7. SensorEvent.timestamp a (UTC) timestamp assoluto?
- 8. MySql - Colonna TimeStamp SELECT in formato UTC
- 9. Converti Unix Timestamp in formato umano in Django con Python
- 10. come generare un unix timestamp UTC in C#
- 11. Restituisce il timestamp corrente di 11 cifre in Python
- 12. Python: conversione da `datetime.datetime` a` time.time`
- 13. Golang: time.Time Round to Day
- 14. Come ottenere il timestamp Unix in MySQL dall'ora UTC?
- 15. Golang: conversione time.Time a stringa
- 16. Golang JSON omitempty Con time.Time Field
- 17. Generare il timestamp di RFC 3339 in Python
- 18. Converti timestamp data/ora da UTC a EST Oracle SQL
- 19. Come ottenere l'ora UTC in Python?
- 20. Come convertire un timestamp UTC in data e ora del sistema in ABAP
- 21. ottenere ora UTC in PHP
- 22. Converti timestamp in microsecond to datetime in Python
- 23. Come posso convertire un oggetto datetime Python in UTC?
- 24. Perché time.clock fornisce un tempo trascorso più lungo di time.time?
- 25. Conversione UTC in ora locale restituisce strano risultato
- 26. Come si formatta un timestamp in Javascript per visualizzarlo nei grafici? UTC sta bene
- 27. Convertire timestamp Unix in datetime
- 28. PHP UTC in ora locale
- 29. Conversione della stringa di data sensibile al fuso orario in UTC e ritorno in Python
- 30. creare una colonna datetime in SQL Server 2008 con valore di default come timestamp UTC corrente