Traduce “PST” a “US/Pacific” para su uso con Pytz.
Estoy tratando de crear puntos finales HTTP:
- uno que devuelva publicaciones de un usuario que fueron creadas en un mes específico en la zona horaria del solicitante.
- otro que obtenga los meses posibles para las publicaciones*.
Ejemplos
(1) obtener publicaciones en el mes de la zona horaria del solicitante
(2) obtener los meses posibles para las publicaciones
Por ejemplo, si el usuario hizo publicaciones en Septiembre-Noviembre
pero ninguna en Diciembre
, entonces a partir de Enero
no devolvería Diciembre
.
Pero toma la zona horaria en formato "PST"
, porque realiza una consulta SQL.
Problemas
Desafortunadamente, pytz
, la biblioteca que estoy usando para obtener todas las publicaciones de un mes, solo acepta zona horaria en formato "US/Pacific"
.
Preguntas
- ¿Cómo se llama el formato o representación de cadena
"US/Pacific"
? - ¿Cómo puedo convertir los formatos de cadena
"PST"
,"UCT"
o"CST"
a sus respectivos formatos como"US/Pacific"
, etc. en Python? - ¿Cuál es el nombre de este formato como
"US/Pacific"
? - ¿Existe una especie de diccionario que mapee
"PST"
a"US/Pacific"
?
davy.ai
Respuestas
"US/Pacific"
se llama zona horaria de Olson o zona horaria de la base de datos tz.Para convertir formatos de cadena como
"PST"
,"UCT"
o"CST"
a sus respectivos formatos como"US/Pacific"
, etc. en Python, podemos usar la funciónpytz.timezone()
. Por ejemplo:Podemos reemplazar
'US/Pacific'
por la cadena de zona horaria correspondiente, como'Europe/London'
o'Asia/Shanghai'
.El formato como
"US/Pacific"
se llama zona horaria de Olson o zona horaria de la base de datos tz. Es un nombre estandarizado de zona horaria que es reconocido por muchos sistemas y bibliotecas.Sí, hay un mapeo entre los nombres abreviados de las zonas horarias como
"PST"
y sus respectivos nombres de zona horaria de Olson. Este mapeo es proporcionado por la bibliotecapytz
en Python. Podemos usar los diccionariospytz.country_timezones
ypytz.country_names
para buscar los nombres de zona horaria para un país dado, que incluye los nombres abreviados de las zonas horarias. Por ejemplo:Esto imprimirá un diccionario que mapea los nombres abreviados de las zonas horarias a sus nombres de zona horaria de Olson para Estados Unidos, que incluye
{'PST': 'US/Pacific', 'EST': 'US/Eastern', ...}
.