ActivityLog.txt

Tabla de Contenidos

  1. Resumen
  2. Estructura
    1. Fecha y Tiempo
      1. Tiempo
      2. Tiempo UTC u Hora Local Relativa
      3. Fecha
      4. Fecha y Tiempo
      5. Duración
      6. Fecha, Tiempo y Duración
      7. Fecha Semanal
      8. Fecha Ordinal
    2. Actividad
    3. Descripción
  3. Reglas
  4. Ejemplos Formato Fecha/Tiempo/Duración
  5. Registro de Actividades
  6. Tareas

Resumen

ActivityLog.txt es una propuesta de estructura para el registro de actividades en texto plano, basado en todo.txt ideado por la destacada programadora Gina Trapani, a continuación les presento la estructura extracto de una publicación mayor.

Este es una estructura para registrar actividades, la llevo usando hace casi un año en conjunto con las aplicaciones Diary y Markor, para dispositivos móviles Android, estas permiten añadir código Javascript al leer sus documentos, además Diary te presenta un archivo de texto distinto cada día, y Markor es una navaja suiza para el manejo de documentos de texto, lo uso para gestionar bitácoras de trabajo en el caso de ActivityLog.txt, entre otros usos que le doy antes de hacer ésta publicación, útil para quienes nos gusta llevar registro de nuestras actividades.

10:30 @Trabajo +proyecto2 +avances Continuaré con la investigación.
09:30 @Trabajo +llegada 1 hora tarde 😓
08:30 @Cotidiano +Despertar Puse la alarma en la calculadora 😅
01:50 @Dormir Intentaré dormir.

Estructura

2025-05-01T23:36 @Cotidiano Al fin a la camita +tuto +dormir
2025-05-01T23:00 @Comida Asalté el refrigerador. +snack
2025-05-01T21:30 @Afición Continuar la publicación del +blog.
          ↓            ↓                     ↓
          1            2                     3

1. Fecha y Tiempo (ISO 8601)

Tiempo

Se utiliza el formato extendido con precisión reducida.

Tiempo con UTC o Hora Local Relativa (Zonas Horarias)

Para horario UTC se usa el caracter Z, y para horas locales se utiliza el formato extendido.

#Tiempo local
hh:mm
23:10
#Tiempo UTC
hh:mmZ
03:00Z
#Tiempo Local Relativo (Ejemplo: -4 Chile Continental)
hh:mm±hh:mm
23:10-04:00

Fecha

Se utiliza el formato extendido, y se puede usar precisión reducida deacuerdo al uso.

#Representación Completa
YYYY-MM-DD
2026-05-13
#Representación Precisión Reducida
YYYY-MM
2026-05
#Representación Precisión Reducida (Solo Año)
YYYY
2026

Fecha y Tiempo

Para combinarlos se unen por medio del caracter «T».

#Fecha y Tiempo
YYYY-MM-DDThh:mm
2026-05-13T23:23
#Fecha, tiempo UTC
YYYY-MM-DDThh:mmZ
2026-05-13T23:23Z
#Fecha, tiempo local relativo
YYYY-MM-DDThh:mm±hh:mm
2026-05-13T23:23-04:00

Duración

Se utiliza el formato con el caracter demarcador inicial «P» y los señaladores correspondientes, se separan las horas y magnitudes inferiores de las mayores con el caracter «T», se pueden omitir señaladores si es que el valor es 0.

#Duracion años, meses, días, horas, minutos
PnnYnnMnnDTnnHnnM
P2Y5M10DT2H35M
#Duracion con omiciones por valor 0
PnnYnnMnnDTnnHnnM
P2Y10DT35M
#Duración solo tiempo
PnnYnnMnnDTnnHnnM
PT1H30M

Fecha, Tiempo, Duración

Se asigna una duración después en conjunto con una fecha, tiempo o fecha y tiempo con el formato de intervalos, primero la demarcación de fecha o tiempo, se usa al final de ésta una barra diagonal «/», y se procede con la duración.

#Fecha, tiempo y duración
YYYY-MM-DDThh:mm±hh:mm/PnnYnnMnnDTnnHnnM
2026-05-14T00:05-04:00/P1Y5M25DT3H25M
#Fecha y duración
YYYY-MM-DD/PnnYnnMnnDTnnHnnM
2026-05-14/P5DT3H25M
#Tiempo y duración
hh:mm/PnnYnnMnnDTnnHnnM
00:08/PT3H25M

Fecha Semanal

Se usa el formato extendido de fecha completa o precisión reducida, para duración el señalador de semanas es «W», usar señalador de días «D» maximo a 6.

#Jueves 14 de Mayo de 2026
YYYY-Www-D
2026-W19-4
#Con tiempo
YYYY-Www-DThh:mm±hh:mm
2026-W19-4T12:02-04:00
#Con duración
YYYY-Www-DThh:mm±hh:mm/PnnYnnWnDThhHmmM
2026-W19-4T12:02-04:00/P1Y10W1DT1H

Fecha Ordinal

Se usa el formato extendido, por supuesto se omiten meses y semanas, en la duración también se omiten.

#Jueves 14 de Mayo de 2026
YYYY-DDD
2026-134
#Con tiempo
YYYY-DDDThh:mm±hh:mm
2026-134T12:02-04:00
#Con duración
YYYY-DDDThh:mm±hh:mm/PnnYnnnDThhHmmM
2026-134T12:02-04:00/P1Y60DT1H

2. Actividad (@).

Nombre de actividad es una cadena de caracteres alfanuméricos.

3. Descripción

Opcionalmente puede tener etiquetas.

  1. +etiqueta, cadenas de caracteres alfanuméricos.
  2. +variable:valor

Reglas

  1. Una actividad por línea.
  2. Orden descendente, las actividades mas nuevas se añaden al inicio del archivo.
  3. Un formato de tiempo por archivo, ActivityLog está pensado para registros uniformes por archivo.
  4. Sugerencias en formato de fecha y tiempo.
    1. Si se usa tiempo en conjunto con fecha, se debe usar fecha completa.
    2. Duración se usa siempre y cuando las actividades no sean contiguas (el termino de una es el inicio de otra).
    3. Duración con intervalo de tiempo solo usar magnitudes de tiempo. (PThhHmmMssS)
    4. Archivos únicos permanentes se sugiere incluir fecha, completa o precisión reducida dependiendo del uso(válido también para fechas semanales y ordinales), para usar tiempo se debe cumplir con el punto 4.1, para usar duración se debe cumplir con el punto 4.2.
    5. Archivos Anuales se sugiere usar fecha completa o precisión reducida omitiendo hasta solo días (válido también para fechas semanales), para usar tiempo se debe cumplir con el punto 4.1, para usar duración se debe cumplir con el punto 4.2.
    6. Archivos Mensuales se sugiere usar fecha completa, para usar tiempo se debe cumplir con el punto 4.1, para usar duración se debe cumplir con el punto 4.2.
    7. Archivos Semanales se sugiere usar fecha completa, para usar tiempo se debe cumplir con el punto 4.1, para usar duración se debe cumplir con el punto 4.2.
    8. Archivos Diarios se sugiere usar formato de solo tiempo (Sin Fecha omitir «T» hh:mm±hh:mm), para usar duración se debe cumplir con el punto 4.2 y 4.3.
  5. Después de la fecha y tiempo debe estar el tipo de actividad con un «@» antepuesto, ejemplo: @Entrenar, esto con el objetivo de gestionar el tiempo de uso en cada tipo de actividad.
  6. Cada campo es separado por un espacio » «, la descripción es el último campo ya que el texto puede contener mas de un espacio.
    1. (Opcional) Las etiquetas (+tag) están pensadas para usarse para una sub-clasificación de actividades, por ejemplo: 20:30 @Entrenar +Sentadillas, @Entrenar +PushUp, etc. Pero no es necesario darle ese uso, se pueden usar para cualquier tipo de clasificación que necesiten, y se pueden agregar en la descripción de la actividad.

Ejemplos Formato Fecha/Tiempo/Duración

12:33 @Programando Este es un +test formato hora local
2029-05-15T12:34 @Programando Este es un +test formato fecha y hora local
2026-05-16 @Programando Este es un +test formato solo fecha
12:28/PT1H20M @Programando Este es un +test formato solo hora local e intervalo con duración
2026-05-17T11:30/PT1H20M @Programando Este es un +test formato de fecha y hora local e intervalo con duración
2026-05-10/P1MT1H20M @Programando Este es un +test formato de fecha e intervalo con duración
2026-W22-4 @Programando Este es un +test formato fecha semanal
2026-W21-4T12:30 @Programando Este es un +test formato fecha semanal con tiempo
2026-W23-4/P1WT1H20M @Programando Este es un +test formato fecha semana e intervalo con duración
2026-W19-4T12:30/P1WT1H20M @Programando Este es un +test formato fecha semanal con tiempo e intervalo con duración
2026-130 @Programando Este es un +test formato fecha ordinal
2026-131T12:30 @Programando Este es un +test formato fecha ordinal y tiempo
2026-132/P20DT1H20M @Programando Este es un +test formato fecha ordinal e intervalo con duración
2026-133T12:30/P20DT1H20M @Programando Este es un +test formato fecha ordinal con tiempo e intervalo con duración
2026-09 @Programando Este es un +test formato fecha con precisión reducida (Sin días)
2024-W12 @Programando Este es un +test formato fecha semanal con precisión reducida (Sin días)
2027 @Programando Este es un +test formato solo año
2026-02/P20DT1H20M @Programando Este es un +test formato fecha con precisión reducida (sin días) e intervalo con duración
2026-W13/P2DT1H20M @Programando Este es un +test formato fecha semanal con precisión reducida (sin días) e intervalo con duración
2028/P2Y20DT1H20M @Programando Este es un +test formato solo año e intervalo con duración
15:30Z @Programando Este es un +test formato tiempo UTC
2026-02-14T12:30Z @Programando Este es un +test formato fecha y tiempo UTC
16:30Z/PT1H20M @Programando Este es un +test formato tiempo UTC e intervalo de tiempo con duración
2026-01-14T12:30Z/P1DT1H20M @Programando Este es un +test formato fecha y tiempo UTC e intervalo con duración
2026-W30-4T12:30Z @Programando Este es un +test formato fecha semanal y tiempo UTC
2026-W31-4T12:30Z/P1WT1H20M @Programando Este es un +test formato fecha semanal con tiempo UTC e intervalo con duración
2026-120T12:30Z @Programando Este es un +test formato fecha ordinal y tiempo UTC
2026-121T12:30Z/P20DT1H20M @Programando Este es un +test formato fecha ordinal con tiempo UTC e intervalo con duración
10:30-04:00 @Programando Este es un +test formato tiempo con hora local relativa
2026-08-14T12:30-04:00 @Programando Este es un +test formato fecha y tiempo con hora local relativa
17:30-04:00/PT1H20M @Programando Este es un +test formato tiempo con hora local relativa e intervalo con duración
2026-03-14T12:30-04:00/P1DT1H20M @Programando Este es un +test formato fecha y tiempo con hora local relativa e intervalo con duración
2026-W40-4T12:30-04:00 @Programando Este es un +test formato fecha semanal y tiempo con hora local relativa
2026-W41-4T12:30-04:00/P1WT1H20M @Programando Este es un +test formato fecha semanal y tiempo con hora local relativa e intervalo con duración
2026-111T12:30-04:00 @Programando Este es un +test formato fecha ordinal y tiempo con hora local relativa
2026-112T12:30-04:00/P20DT1H20M @Programando Este es un +test formato fecha ordinal y tiempo con hora local relativa e intervalo con duración

Registro de actividades

  • 2026-05-14T00:48-04/P2H @Formato Se añade indicaciones detalladas de la estructura.
  • 2026-01-02T16:00/P1H @Formato Se establecen 3 formas para definir el tiempo de una actividad.
  • 2025-11-30T21:03/P1H @Formato Especificaciones de formato.
  • 2025-05-02T19:00/P1H @Formato Primer vistazo a la estructura.

Tareas

  • (A) 2025-11-30 Script base interpretación, creación y edición. @ActivityLog +Script +Móvil +Escritorio
  • (B) 2025-11-30 Añadir formato de zona horaria. @ActivityLog +Estructura
  • (C) 2025-11-30 Definir Finances.txt @ActivityLog +Complemento
  • (C) 2025-11-30 Definir Training.txt @ActivityLog +Complemento
  • (C) 2025-11-30 Definir Nutrition.txt @ActivityLog +Complemento