Dado un objeto de fecha y hora, la tarea es escribir un programa de Python para calcular la última fecha del mes del objeto de fecha y hora.
Ejemplos:
Entrada: test_date = datetime.datetime(2018, 6, 4)
Salida : 30
Explicación: Abril tiene 30 días, cada año.
Entrada: prueba_fecha = fechahora.fechahora(2020, 2, 4)
Salida : 29
Explicación: febrero tuvo 29 días en 2020, año bisiesto.
Método #1: Usar replace() + timedelta()
En esto, extraiga el mes siguiente y reste el día del objeto del mes siguiente extraído del mes siguiente, lo que da como resultado 1 día antes del comienzo del mes siguiente, es decir, la última fecha del mes actual.
Python3
# Python3 code to demonstrate working of # Get Last date of Month # Using replace() + timedelta() import datetime # initializing date test_date = datetime.datetime(2018, 6, 4) # printing original date print("The original date is : " + str(test_date)) # getting next month # using replace to get to last day + offset # to reach next month nxt_mnth = test_date.replace(day=28) + datetime.timedelta(days=4) # subtracting the days from next month date to # get last date of current Month res = nxt_mnth - datetime.timedelta(days=nxt_mnth.day) # printing result print("Last date of month : " + str(res.day))
Producción:
The original date is : 2018-06-04 00:00:00 Last date of month : 30
Método #2: Usando el calendario()
Esto utiliza una función incorporada para resolver este problema. En este año y mes dados, el rango se puede calcular usando monthrange() y su segundo elemento puede obtener el resultado requerido.
Python3
# Python3 code to demonstrate working of # Get Last date of Month # Using calendar() from datetime import datetime import calendar # initializing date test_date = datetime(2018, 6, 4) # printing original date print("The original date is : " + str(test_date)) # monthrange() gets the date range # required of month res = calendar.monthrange(test_date.year, test_date.month)[1] # printing result print("Last date of month : " + str(res))
Producción:
The original date is : 2018-06-04 00:00:00 Last date of month : 30
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA