es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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")
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El Error de Valor probablemente se produce en la última línea de código de la función sunset, que intenta convertir sunset_date_time en un objeto datetime utilizando el método strptime.

    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 diccionario daycycle. En tales casos, pasar una cadena vacía a strptime 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 objeto datetime. Por ejemplo, podrías modificar la última línea de código a:

    if sunset_date_time:
        return datetime.datetime.strptime(sunset_date_time, "%Y-%m-%d %H:%M")
    else:
        return None
    

    De esta manera, si sunset_date_time está vacío, la función devuelve None en lugar de generar un error de valor.

Comments are closed.