Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
Cómo formatear fecha y hora en una cadena tal como lo hace Django

Tengo un DatetimeField que destaco en el administrador de django en función de la antigüedad en comparación con ahora ().

 def valid_up_to_column(self): now = datetime.datetime.now(datetime.timezone.utc) delta = (now - self.valid_up_to).seconds if delta > 900: colour = '#FF0000' # red else: return self.valid_up_to return format_html('<span style="background-color: {}">{}</span>', colour, self.valid_up_to)

Cuando se usa format_html, la fecha y hora se representa como formato UTC 2017-01-01 00:00+00:00 sin procesar, pero para el otro caso, la configuración regional de Django se hace cargo y la formatea según la configuración regional, por ejemplo, 1 de enero de 2017, medianoche.

¿Cómo puedo formatear la fecha y hora para que tenga el mismo formato que Django antes de pasarla a format_html() ?

Intenté usar strftime (settings.DATETIME_FORMAT) pero este es el django DATETIME_FORMAT, no es lo mismo que el formato de cadena de Python.

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Entendido, hay una función de formato útil, solo pásele la configuración DATETIME_FORMAT, por lo que si no está configurada, el formato L10N lo tomará desde aquí.

 from django.utils.dateformat import format datetime_str = format(self.valid_up_to, settings.DATETIME_FORMAT)
about 4 years ago · Santiago Trujillo Denunciar

0

La misma función podría usarse para dar formato a los valores de fecha, fecha y hora:

 from django.utils.formats import localize formatted_value = localize(value)

Parte relacionada con la fecha y hora de la función localize() :

 def localize(value, use_l10n=None): ... elif isinstance(value, datetime.datetime): return date_format(value, 'DATETIME_FORMAT', use_l10n=use_l10n) elif isinstance(value, datetime.date): return date_format(value, use_l10n=use_l10n) elif isinstance(value, datetime.time): return time_format(value, 'TIME_FORMAT', use_l10n=use_l10n) ...
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda