import datetime # fechas, horas, fechas y horas # date, time, datetime # Obtener la fecha y hora actual con now ahora=datetime.datetime.now() # Tengo el momento actual print(ahora) # los valores de fecha (año, mes y día) print(ahora.year,ahora.month,ahora.day) # los valores de tiempo (hora,minutos, segundos, microsegundos) print(ahora.hour,ahora.minute,ahora.second,ahora.microsecond) # día de la semana, la parte de la fecha o la parte de la hora print(ahora.weekday(),ahora.date(),ahora.time()) # si solo me interesa la fecha uso el date y el today. No tengo datos de tiempo hoy=datetime.date.today() print(hoy) # Crear una fecha dando los valores a mano (año,mes,día,hora,minuto,segundo) unaFecha=datetime.datetime(2024,6,4,18,30,00) # Lo puedo hacer con parámetros nombrados otraFecha=datetime.datetime(day=5,month=1,year=2025,hour=20,minute=30) print(unaFecha) print(otraFecha) # Lo mismo sin tiempo, solo la fecha soloFecha=datetime.date(2024,1,15) print(soloFecha) # Restar y sumar fechas. Esto me da un objeto timedelta que es intervalo de tiempo diferencia=unaFecha-ahora print(diferencia.days,diferencia.seconds) # calculo una diferencia entre fechas se crea un objeto timedelta # Intervalo de tiempo lo creo poniendo los valores que necesite intervalo=datetime.timedelta(hours=2,minutes=30) # Puedo restar o sumar a la fecha ese intervalo de tiempo print(ahora-intervalo) # Al imprimir se muestra en formato año mes dia hora minuto segundo # Podemos cambiar como se muestra dia mes año print(ahora.strftime("%d-%m-%Y")) # Hora minutos segundos print(ahora.strftime("%H-%M-%S")) # hora am/pm minutos segundos print(ahora.strftime("%I%p-%M-%S")) # dia del año y semana del año print(ahora.strftime("%j %U %W")) # fecha completa print(ahora.strftime("%c")) miFecha="03/03/2025" # convierto de una cadena a una fecha con un formato determinado # tendríamos que saber el formato fecha=datetime.datetime.strptime("03/03/2025","%d/%m/%Y") print(fecha,fecha.month)