ValueError: el dato de tiempo ” no coincide con el formato ‘%Y-%m-%d %H:%M’
Soy nuevo en la programación y no puedo encontrar donde está el error. El ValueError sigue apareciendo, pero no logro identificar dónde está el problema.
def atardecer(fecha, ciclo_dia):
hora_atardecer = ''
año = fecha.strftime("%Y")
datos_año = ciclo_dia.get(año)
if(datos_año != None):
mes_dia = fecha.strftime("%m-%d")
resultado_set = datos_año.get(mes_dia)
if(resultado_set != None):
hora_atardecer = resultado_set["sunset"]
hora_fecha_atardecer = año + "-" + mes_dia + " " + hora_atardecer
return datetime.datetime.strptime(hora_fecha_atardecer, "%Y-%m-%d %H:%M")
davy.ai
El Error de Valor probablemente se produce en la última línea de código de la función
sunset
, que intenta convertirsunset_date_time
en un objetodatetime
utilizando el métodostrptime
.Una posible razón para este error podría ser que
sunset_date_time
es una cadena vacía (''
) si la fecha de entrada no tenía una hora de puesta del sol correspondiente en el diccionariodaycycle
. En tales casos, pasar una cadena vacía astrptime
resultaría en un error de valor.Para resolver este error, puedes verificar si
sunset_date_time
no es una cadena vacía antes de intentar convertirla en un objetodatetime
. Por ejemplo, podrías modificar la última línea de código a:De esta manera, si
sunset_date_time
está vacío, la función devuelve None en lugar de generar un error de valor.