Come si verifica se è in vigore l'ora legale?Python ora legale
risposta
È possibile utilizzare time.localtime
e osservare il flag tm_isdst
nel valore restituito.
>>> import time
>>> time.localtime()
(2010, 5, 21, 21, 48, 51, 4, 141, 0)
>>> _.tm_isdst
0
Utilizzando time.localtime()
, si può chiedere la stessa domanda per qualsiasi tempo arbitrario per vedere se l'ora legale sarebbe (o era) in vigore per il fuso orario corrente.
Se si desidera verificare se la luce del giorno è attualmente in vigore con le impostazioni correnti del computer, utilizzare time.daylight.
>>> import time
>>> print time.daylight
time.daylight dice solo se il computer è attualmente in ora legale, non se il computer è "Passa automaticamente all'ora legale degli Changes" set. Per quei computer impostati su nessuna regolazione dell'ora legale, time.daylight sarà sempre 0 tutto l'anno.
Un modo per determinare se il computer si adeguerà all'ora legale durante l'anno è quello di ottenere la tupla restituita da time.tzname e se sono differenze (ad esempio, len (set (time.tzname))! = 1), quindi il computer ha la regolazione dell'ora legale attivata.
'time.daylight dice solo se il computer è o non è attualmente in ora legale - questo non è vero. 'time.daylight' dice solo se il computer si trova in un fuso orario che avrà delle modifiche temporali relative a dst. Non dice nulla sul fatto che siano o meno in effetti. Questo può essere verificato con 'tm_isdst' –
BTW: Documenti per tzname:' Una tupla di due stringhe: la prima è il nome del fuso orario locale non-DST, il secondo è il nome del fuso orario locale dell'ora legale. Se non viene definito un fuso orario dell'ora legale, la seconda stringa non deve essere utilizzata. Quindi len potrebbe essere> 1 anche se non è definito alcun dst. –
Votare per cancellare la risposta in quanto errata. –
- 1. ora legale in Python
- 2. Ora legale in Golang
- 3. Ora corrente in java con ora legale
- 4. Confusione test fallita - ora legale
- 5. Regola ora all'ora legale per ora locale C++
- 6. Ora legale in Javascript per il 1974?
- 7. moment.js, fusi orari e ora legale
- 8. Python: data, ora formattazione
- 9. Trova il timestamp dell'ora legale (ora legale) utilizzando Objective-C/C?
- 10. Come verificare se un offset orario è in ora legale?
- 11. MS Outlook interpreta erroneamente i file ICS in ora locale: ora legale in overcourcing
- 12. Problemi di ibernazione e oracolo con data e ora e ora legale
- 13. controllo formato ora python
- 14. python os.path.getmtime() ora non cambia
- 15. Le date precedenti vengono analizzate come ora legale, anche se ciò non è vero in Java
- 16. Come aggiungere timedelt settimanale rispetto alle fasce orarie di ora legale
- 17. SQL Server Lavoro/Orari - noi contro di regolazione del Regno Unito ora legale
- 18. Riposizionare l'etichetta legale (MKAttributionLabel)
- 19. Python: "nome globale 'ora' non è definito"
- 20. Python: ottenere il datetime dell'ultima ora
- 21. Controllare se è in vigore l'ora legale?
- 22. Rails fuso orario e l'ora legale
- 23. Gestione dell'ora legale orientale (EST) e dell'ora legale orientale (EDT) in R
- 24. Perché 'int i = i;' legale?
- 25. È legale l'ottimizzazione C++ 0x?
- 26. Questo account per l'ora legale?
- 27. ORA-00604 ORA-12705
- 28. Does to_utc_timestamp tiene conto dell'ora legale?
- 29. PHP UTC in ora locale
- 30. Python: Converti time-tuple UTC in formato ora UTC
Potrebbe essere un po 'più chiaro utilizzare la proprietà time.daylight. Restituirà un risultato diverso da zero se il fuso orario corrente ha l'ora legale. –
@brian buck: è diverso però. Per un determinato fuso orario, 'time.daylight' è costante perché esiste o meno una zona diurna. D'altra parte, il flag 'tm_isdst' riflette se l'ora indicata è * entro * le date di inizio e fine dell'ora legale. –
Questa confusione su 'time.daylight' sembra essere un problema più grande: http://bugs.python.org/issue7229. –