Spaces:
Running
Running
File size: 2,097 Bytes
2d73b8f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
from datetime import datetime
import pytz
import os
def imprimeTime():
"""
Devuelve la fecha y hora actual en la zona horaria de la Ciudad de México (GMT-6).
"""
# 1. Definir la zona horaria de la Ciudad de México
# Puedes usar 'America/Mexico_City' para que pytz maneje el horario de verano automáticamente.
mexico_city_tz = pytz.timezone('America/Mexico_City')
# 2. Obtener la hora actual en UTC
utc_now = datetime.now(pytz.utc)
# 3. Convertir la hora UTC a la zona horaria deseada
mexico_city_now = utc_now.astimezone(mexico_city_tz)
# 4. Formatear la fecha y hora
# El formato que deseas es "YYYY-MM-DD HH:MM:SS"
formatted_time = mexico_city_now.strftime("%Y-%m-%d %H:%M:%S")
return formatted_time
def registrar_evento(event_type: str):
"""
Guarda la fecha y hora actual junto con un tipo de evento
en un archivo 'registro.txt' en la raíz del proyecto.
Args:
event_type (str): Una descripción del tipo de evento a registrar.
"""
# 1. Obtener la fecha y hora actual en el formato deseado
fecha = imprimeTime() # Utiliza tu función existente
# 2. Definir el nombre del archivo de registro
file_name = "registro.txt"
# 3. Obtener la ruta completa al archivo en la raíz del proyecto
# Esto asume que el script que llama a esta función está en la raíz.
script_dir = os.path.dirname(os.path.abspath(__file__))
registro_path = os.path.join(script_dir, file_name)
# 4. Formatear la línea que se guardará en el archivo
# Puedes elegir el formato que prefieras. Un buen formato sería CSV o algo legible.
# Por ejemplo: "FECHA_HORA,TIPO_DE_EVENTO\n"
log_line = f"{fecha},{event_type}\n"
# 5. Abrir el archivo en modo de añadir ('a') y escribir la línea
try:
with open(registro_path, 'a') as f:
f.write(log_line)
print(f"[{fecha}] Evento '{event_type}' registrado con éxito en '{registro_path}'")
except Exception as e:
print(f"Error al escribir en el archivo de registro '{registro_path}': {e}")
|