es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Traduce “PST” a “US/Pacific” para su uso con Pytz.

Estoy tratando de crear puntos finales HTTP:

  1. uno que devuelva publicaciones de un usuario que fueron creadas en un mes específico en la zona horaria del solicitante.
  2. 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

  1. ¿Cómo se llama el formato o representación de cadena "US/Pacific"?
  2. ¿Cómo puedo convertir los formatos de cadena "PST", "UCT" o "CST" a sus respectivos formatos como "US/Pacific", etc. en Python?
  3. ¿Cuál es el nombre de este formato como "US/Pacific"?
  4. ¿Existe una especie de diccionario que mapee "PST" a "US/Pacific"?
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Respuestas

    1. El formato o representación de cadena "US/Pacific" se llama zona horaria de Olson o zona horaria de la base de datos tz.
    2. Para convertir formatos de cadena como "PST", "UCT" o "CST" a sus respectivos formatos como "US/Pacific", etc. en Python, podemos usar la función pytz.timezone(). Por ejemplo:

      import pytz
      
      timezone = pytz.timezone('US/Pacific')
      

      Podemos reemplazar 'US/Pacific' por la cadena de zona horaria correspondiente, como 'Europe/London' o 'Asia/Shanghai'.

    3. 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.

    4. 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 biblioteca pytz en Python. Podemos usar los diccionarios pytz.country_timezones y pytz.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:

      import pytz
      
      tz_dict = {}
      for tz in pytz.country_timezones['us']:
         tz_name = tz.split('/')[-1]
         tz_dict[tz_name] = tz
      
      print(tz_dict)
      

      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', ...}.

Comments are closed.