example create python django date datetime date-manipulation

create - django python fecha hora establecida a medianoche



strftime python (5)

¿Está seguro de que no desea utilizar fechas en lugar de fechas de datos? Si siempre está configurando la hora para la medianoche, debe considerar el uso de una fecha. Si realmente desea utilizar fechas de datos, aquí hay una función para obtener el mismo día a la medianoche:

def set_to_midnight(dt): midnight = datetime.time(0) return datetime.datetime.combine(dt.date(), midnight)

Tengo una fecha de mi objeto django, pero puede ser a cualquier hora del día. Puede ser en cualquier momento del día, pero necesito establecer mi tiempo a 00:00:00 (y otra fecha a 23:59:59 pero el principio será el mismo)

end_date = lastItem.pub_date

actualmente la fecha de finalización es 2002-01-11 12:34:56 ¿Qué debo hacer para que esto cambie a 00:00:00?

Lo intenté:

end_date.hour = ''00''

pero obtuvo: el atributo de objeto ''datetime.datetime'' ''tiempo'' es de solo lectura


El uso de "combinar" de datetimes con time.min y time.max proporcionará ambas fechas de datos. Por ejemplo:

from datetime import date, datetime, time pub_date = date.today() min_pub_date_time = datetime.combine(pub_date, time.min) max_pub_date_time = datetime.combine(pub_date, time.max)

Resultado con fecha de publicación 5/5/2013:

min_pub_date_time -> datetime.datetime (2013, 6, 5, 0, 0)

max_pub_date_time -> datetime.datetime (2013, 6, 5, 23, 59, 59, 999999)


Para fechas tz-aware debería ser:

datetime.combine(dt.date(), datetime.min.time(), dt.tzinfo)


Prueba esto:

import datetime pub = lastItem.pub_date end_date = datetime.datetime(pub.year, pub.month, pub.day)


datetime atributos de instancia de datetime como año, mes, día, hora, etc. son read-only , por lo que solo tiene que crear un nuevo objeto de datetime y datetime y asignarlo a end_date .