Add exercises 16
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
parent
3da7ec4195
commit
d191a1a03d
96
30-days-of-python/16_Fecha_y_hora_en_Python/01_time.py
Normal file
96
30-days-of-python/16_Fecha_y_hora_en_Python/01_time.py
Normal file
@ -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()
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user