Python | Conversión de zona horaria

| | | | | | | |

Los elementos de fecha y hora de Python pueden ser ingenuos o atentos. En caso de que el elemento de fecha y hora tenga tzinfo, en este punto lo sabe. Otra cosa, la fecha y la hora son ingenuas. Para aclarar la zona horaria de un objeto de fecha y hora, defina una clase base abstracta, tzinfo. En cualquier caso, la biblioteca de fecha y hora de Python simplemente caracteriza la clase base conceptual para tzinfo y deja que otros implementen la creación de tzinfo. Aquí es donde entra el módulo tz dateutil — ofrece todo lo necesario para cambiar las zonas horarias ascendentes desde la información de la zona horaria de su sistema operativo.

Configuración:

Use pip o easy_install dateutil para instalar. Asegúrese de que el sistema operativo tenga datos de zona horaria.

En Linux, esto generalmente se encuentra en /usr/share/zoneinfo, y el paquete de Ubuntu se llama tzdata. En el caso de la cantidad de archivos y directorios en / usr / share / zoneinfo , como América / y Europa /, entonces está listo para continuar.

Obtener objeto UTC tzinfo — llamando a tz.tzutc()

desde dateutil import tz

tz.tzutc ()

tzutc()

El desplazamiento es 0 llamando al < método code>utcoffset () con un objeto de fecha/hora UTC.


importar fecha y hora

tz.tzutc(). utcoffset (datetime.datetime.utcnow())

datetime.timedelta (0) 

Pasa la ruta al archivo zona horaria en gettz () para obtener objetos tzinfo para otras zonas horarias.


tz.gettz (< /código> `EE. UU./Pacífico` )

< /table>

tzfile (`/usr/share/zoneinfo/US/Pacífico`) 

< / p>

tz.gettz ( `Europa / París` )

tzfile(`/usr/share/zoneinfo/Europa/Paris` )

tz.gettz ( `US/Pacífico ` ). utcoffset (datetime.datetime.utcnow())

datetime.timedelta (-1, 61200) 

Para cambiar un elemento de hora y fecha que no sea UTC a UTC, debe recordar la zona horaria. Si intenta cambiar la hora de confianza a UTC, obtendrá una excepción ValueError. Para recordar la ingenua zona horaria de fecha y hora, básicamente llame a la estrategia replace () con el tzinfo que desee. Una vez que el elemento de fecha y hora tiene tzinfo, el UTC se puede cambiar en ese punto llamando al método astimezone () con tz.tzutc () .

< / p>

abc = tz.gettz ( `EE. UU./Pacífico` )

dat = datetime.datetime ( 2010 , 9 , 25 , 10 , 36 )

dat.tzinfo
dat.astimezone (tz. tzutc ())

Rastreo (última llamada más reciente): Archivo "/u sr/lib/python2.6/doctest.py", línea 1228, en __run compileflags, 1) en test.globs File "", línea 1, en dat.astimezone (tz.tzutc ()) ValueError: astimezone () no puede aplicarse a una fecha y hora ingenua 

dat.replace (tzinfo = abc)

datetime.datetime (2010, 9, 25, 10, 36, tzinfo = tzfile (`/usr/share/zoneinfo/US/Pacífico`)) 

Todo está detrás del trabajo —

  • Los elementos tzutc y tzfile son dos subclases de tzinfo.
  • Considerando todas las cosas, conocen el desplazamiento UTC correcto para cambiar la zona horaria (0 para tzutc) .
  • El elemento tzfile comprende cómo escanear los documentos zoneinfo de la estructura de trabajo para obtener información de contrapeso fundamental.
  • La estrategia replace () para el elemento nta datetime hace lo que el nombre — reemplaza cualidades.
  • Cuando una fecha y hora tiene un tzinfo, la estrategia astimezone () probablemente tendrá en cuenta el tiempo usando contrapesos UTC y luego desplazará el tzinfo actual con un nuevo tzinfo.

Código: Pase el argumento de la palabra clave tzinfos al analizador dateutil para detectar zonas horarias no reconocidas


parser.parse ( `Miércoles, 4 de agosto de 2010 a las 6:30 pm (CDT)` ,

confuso = Verdadero )

datetime. datetime (2010, 8, 4, 18, 30) 

tzinfos = { `CDT` : tz.gettz ( ` EE. UU. / Central` )}

parser.parse ( `Miércoles, 4 de agosto de 2010 a las 6:30 pm (CDT)` ,

< clase de código ="simple "> fuzzy = Verdadero , tzinfos = tzinfos)

datetime.datetime (2010, 8, 4, 18, 30, tzinfo = tzfile (`/usr/share/zoneinfo/US/Central`)) 

Python | Conversión de zona horaria __del__: Questions

Python | Conversión de zona horaria _files: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method