From d191a1a03dc1360dc817825151675ded51060f42 Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Fri, 29 Sep 2023 00:16:16 +0200 Subject: [PATCH] Add exercises 16 Signed-off-by: Manuel Vergara --- .../16_Fecha_y_hora_en_Python/01_time.py | 96 +++++++++++++++++++ .../16_Fecha_y_hora_en_Python/README.md | 2 + 2 files changed, 98 insertions(+) create mode 100644 30-days-of-python/16_Fecha_y_hora_en_Python/01_time.py diff --git a/30-days-of-python/16_Fecha_y_hora_en_Python/01_time.py b/30-days-of-python/16_Fecha_y_hora_en_Python/01_time.py new file mode 100644 index 0000000..c2146cf --- /dev/null +++ b/30-days-of-python/16_Fecha_y_hora_en_Python/01_time.py @@ -0,0 +1,96 @@ +""" +01_time.py +""" +from datetime import datetime +import locale + +# 1. Obtener el día actual, +# mes, año, hora, minuto +# y marca de tiempo actual +# desde el módulo datetime. +now = datetime.now() +print("Día actual:", now.day) +print("Mes actual:", now.month) +print("Año actual:", now.year) +print("Hora actual:", now.hour) +print("Minuto actual:", now.minute) +print("Marca de tiempo actual:", now) +print() + +# 2. Formatear la fecha actual +# utilizando este formato: +# "%m/%d/%Y, %H:%M:%S". +formatted_now = now.strftime("%m/%d/%Y, %H:%M:%S") +print("Fecha formateada:", formatted_now) +print() + +# 3. Cambiar la cadena de tiempo +# "5 de diciembre de 2019" +# a un objeto de tiempo. + +# Establecer el idioma en español +# porque sino no funciona, +# el idioma por defecto es el inglés. +locale.setlocale(locale.LC_ALL, 'es_ES') + +time_str = "05 de diciembre de 2019" +time_obj = datetime.strptime(time_str, "%d de %B de %Y") +print("Objeto de tiempo:", time_obj) +print() + +# 4. Calcular la diferencia de tiempo entre ahora y el Año Nuevo. +new_year = datetime(2022, 1, 1) +time_diff = new_year - now +print("Diferencia de tiempo hasta el Año Nuevo:\n", time_diff) +print() + +# 5. Calcular la diferencia de tiempo entre +# el 1 de enero de 1970 y ahora. +epoch = datetime(1970, 1, 1) +time_diff = now - epoch +print( + "Diferencia de tiempo desde el 1 de enero de 1970 hasta ahora:\n", + time_diff +) +print() + +# 6. Ejemplos de uso del módulo datetime: +# - Análisis de series temporales. + +# Lista de fechas +fechas = ["2023-09-01", "2023-09-15", "2023-09-30"] + +# Convertir las fechas a objetos datetime +fechas_dt = [ + datetime.strptime(fecha, "%Y-%m-%d") for fecha in fechas +] +print() + +# Calcular la diferencia entre fechas +diferencia = fechas_dt[-1] - fechas_dt[0] + +print("Diferencia de tiempo:", diferencia) + + +# - Obtener una marca de tiempo de cualquier actividad en una aplicación. + +# Registra la actividad +actividad = "Usuario inició sesión" +tiempo_actividad = datetime.now() + +print(f"{actividad} a las {tiempo_actividad}") +print() + + +# - Publicar entradas en un blog. + +# Contenido de la entrada del blog +contenido = "Hoy estoy publicando mi primera entrada en el blog." + +# Fecha y hora de publicación +# Año, mes, día, hora, minuto +fecha_publicacion = datetime(2023, 9, 29, 15, 30) + +# Publicar la entrada +print(f"Entrada publicada el {fecha_publicacion}:\n{contenido}") +print() diff --git a/30-days-of-python/16_Fecha_y_hora_en_Python/README.md b/30-days-of-python/16_Fecha_y_hora_en_Python/README.md index c99c4fc..98797d1 100644 --- a/30-days-of-python/16_Fecha_y_hora_en_Python/README.md +++ b/30-days-of-python/16_Fecha_y_hora_en_Python/README.md @@ -14,4 +14,6 @@ Documento original en inglés: [Python Date time](https://github.com/Asabeneh/30 - Obtener una marca de tiempo de cualquier actividad en una aplicación. - Publicar entradas en un blog. +[Solución](01_time.py) + [<< Day 15](../15_Errores_de_tipo_en_Python/README.md) | [Day 17 >>](../17_Manejo_de_excepciones/README.md)