Python: convierte el número de día a la fecha en un año en particular

Dado el número de día, convertir a la fecha a la que se refiere.

Entrada : day_num = “339”, año = “2020” 
Salida : 12-04-2020 
Explicación : el día 339 de 2020 es el 4 de diciembre.

Entrada : day_num = “4”, año = “2020” 
Salida : 01-04-2020 
Explicación : el 4.º día de 2020 es el 4 de enero. 

Método #1: Usando datetime.strptime()

En esto, obtenemos la string del año y la string del número del día, y la pasamos a strptime(), que se convierte en la fecha requerida correspondiente.

Python3

# Python3 code to demonstrate working of
# Convert day number to date in particular year
# Using datetime.strptime()
from datetime import datetime
  
# initializing day number
day_num = "339"
  
# print day number
print("The day number : " + str(day_num))
  
# adjusting day num
day_num.rjust(3 + len(day_num), '0')
  
# Initialize year
year = "2020"
  
# converting to date
res = datetime.strptime(year + "-" + day_num, "%Y-%j").strftime("%m-%d-%Y")
  
# printing result
print("Resolved date : " + str(res))
Producción

The day number : 339
Resolved date : 12-04-2020

Método #2: Usar timedelta()

En esto, inicializamos la fecha el 1 de enero y luego agregamos el número de días usando timedelta(), lo que da como resultado la fecha requerida.

Python3

# Python3 code to demonstrate working of
# Convert day number to date in particular year
# Using datetime.strptime()
from datetime import datetime, date, timedelta
  
# initializing day number
day_num = "339"
  
# print day number
print("The day number : " + str(day_num))
  
# adjusting day num
day_num.rjust(3 + len(day_num), '0')
  
# Initialize year
year = "2020"
  
# Initializing start date
strt_date = date(int(year), 1, 1)
  
# converting to date
res_date = strt_date + timedelta(days=int(day_num) - 1)
res = res_date.strftime("%m-%d-%Y")
  
# printing result
print("Resolved date : " + str(res))
Producción

The day number : 339
Resolved date : 12-04-2020

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *