JPablos

días_transcurridos

Feb 28th, 2025
372
-1
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | Source Code | 0 1
  1. # -*- coding: utf-8 -*-
  2.     """
  3.    Reformulación de ^-Días entre fechas-^. (https://pastebin.com/WGmr6224)
  4.    =====================================================================
  5.    
  6.    Utiliza la función ^-calcular_dias_transcurridos-^:
  7.  
  8.    Esta función toma una fecha en formato de cadena (str) y la convierte en un objeto datetime.
  9.  
  10.    Luego, calcula la diferencia entre la fecha actual (hoy) y la fecha ingresada.
  11.  
  12.    Retorna el número de días transcurridos (diferencia.days).
  13.    
  14.    Se implementa un control de errores para validar la correcta introdución de datos por
  15.     parte del usuario.
  16.    """
  17.  
  18.  
  19. from datetime import datetime
  20.  
  21. def calcular_dias_transcurridos(fecha_str):
  22.     """
  23.    Calcula el número de días transcurridos desde una fecha dada hasta hoy.
  24.    
  25.    Parámetros:
  26.        fecha_str (str): La fecha en formato 'dd-mm-aaaa HH:MM:SS'.
  27.    
  28.    Retorna:
  29.        int: Número de días transcurridos.
  30.    """
  31.     try:
  32.         # Convertir la fecha ingresada a un objeto datetime
  33.         fecha = datetime.strptime(fecha_str, '%d-%m-%Y %H:%M:%S')
  34.        
  35.         # Obtener la fecha y hora actual
  36.         hoy = datetime.now()
  37.        
  38.         # Calcular la diferencia de tiempo
  39.         diferencia = hoy - fecha
  40.        
  41.         # Retornar solo el número de días transcurridos
  42.         return diferencia.days
  43.     except ValueError as e:
  44.         print(f"Error: {e}. Asegúrate de ingresar la fecha en el formato correcto.")
  45.         return None
  46.  
  47. # Solicitar la fecha al usuario
  48. fecha_usuario = input("Ingresa una fecha (dd-mm-aaaa HH:MM:SS): ")
  49.  
  50. # Calcular los días transcurridos
  51. dias_transcurridos = calcular_dias_transcurridos(fecha_usuario)
  52.  
  53. # Mostrar el resultado
  54. if dias_transcurridos is not None:
  55.     print(f"Han pasado {dias_transcurridos} días desde {fecha_usuario} hasta hoy.")
Advertisement
Comments
  • JPablos
    1 year
    # Python 1.03 KB | 0 0
    1. El código debe evolucionar, es por ello que se publica casi un año después del Paste ^-Días entre fechas-^ esta reformulación. No se trata de un código duplicado --por tanto no infringe las normas--, se trata de un replanteamiento después de cavilar e investigar mucho sobre como hacer mas claro, flexible y eficiente el desarrollo de la idea original.
    2. Mis Paste han sido siempre públicos y sin caducidad ni contraseña; no buscan el reconocimiento, al contrario, pretenden servir.
    3. En cualquier actividad que se desarrolle con honestidad no hay tacha.
    4. Imagino que habrá quien encuentre útil este nuevo enfoque, por ejemplo aquellos que manejan fechas para encontrar el tiempo que un empleado ha trabajado, etc.
    5. Por último me remito a   ^->>> import this-^
    6. - El enfasis en la claridad evitando complejidades innecesarias.
    7. - Elegir la solución más sencilla entre múltiples opciones.
    8. - La importancia de un código simple y legible.
    9. - Legibilidad, escribir código fácilmente comprensible.
    10. - ...
    11.  
    12. El Zen de Python, por Tim Peters
Add Comment
Please, Sign In to add comment