La función Datetime.replace() se usa para reemplazar el contenido del objeto DateTime con los parámetros dados.
Sintaxis: Datetime_object.replace(año,mes,día,hora,minuto,segundo,microsegundo,tzinfo)
Parámetros:
- año: valor de año nuevo en el rango-[1,9999],
- mes: Nuevo valor del mes en el rango-[1,12],
- día: valor del nuevo día en el rango-[1,31],
- hora: Nuevo valor de hora en el rango-[24],
- minuto: Nuevo valor de minuto en el rango-[60],
- segundo: nuevo segundo valor en el rango-[60],
- microsegundo: Nuevo valor de microsegundo en el rango-[1000000],
- tzinfo: Información de la nueva zona horaria.
Devoluciones: Devuelve el objeto de fecha y hora modificado
Nota:
- En replace() solo podemos pasar el parámetro que ya tiene el objeto DateTime, reemplazar un parámetro que no está presente en el objeto DateTime generará un error
- No reemplaza el objeto DateTime original pero devuelve un objeto DateTime modificado
Ejemplo 1: Reemplace el año de la fecha actual con el año 2000.
Python3
# importing the datetime module import datetime # Getting current date using today() # function of the datetime class todays_date = datetime.date.today() print("Original Date:", todays_date) # Replacing the todays_date year with # 2000 using replace() function modified_date = todays_date.replace(year=2000) print("Modified Date:", modified_date)
Producción:
Original Date: 2021-07-27 Modified Date: 2000-07-27
Ejemplo 2: reemplazar un parámetro que no está presente en el objeto de fecha y hora.
Python3
# importing the datetime module import datetime # Getting current date using today() # function of the datetime class todays_date = datetime.date.today() print("Original Date:", todays_date,) # Trying to replace the todays_date hour # with 3 using replace() function modified_date = todays_date.replace(hour=3) print("Modified Date:", modified_date)
Producción:
Rastreo (llamadas recientes más última):
Archivo “/home/6e1aaed34d749f5b15af6dc27ce73a2d.py”, línea 9, en <módulo>
fecha_modificada = fecha_hoy.reemplazar(hora=3)
TypeError: ‘hora’ es un argumento de palabra clave no válido para esta función
Entonces observamos que obtenemos un error ya que la hora no está presente en el objeto de fecha y hora. Ahora crearemos un objeto de fecha y hora con la propiedad de la hora e intentaremos cambiarlo a 03 y también cambiaremos la fecha a 10.
Python3
# importing the datetime module import datetime # Getting current date and time using now() # function of the datetime class todays_date = datetime.datetime.now() print("Today's date and time:", todays_date) # Replacing todays_date hour with 3 and day # with 10 using replace() function using hour # and day parameter modified_date = todays_date.replace(day = 10, hour=3) print("Modified date and time:", modified_date)
Producción:
Today's date and time: 2021-07-28 09:08:47.563144 Modified date and time: 2021-07-10 03:08:47.563144