Fecha y hora

OpenClaw usa por defecto hora local del host para timestamps de transporte y zona horaria del usuario solo en el system prompt. Los timestamps del proveedor se preservan para que las herramientas mantengan su semántica nativa (la hora actual está disponible a través de session_status).

Envelopes de mensajes (local por defecto)

Los mensajes entrantes se envuelven con un timestamp (precisión de minutos):

[Provider ... 2026-01-05 16:26 PST] texto del mensaje

Este timestamp del envelope es local del host por defecto, independientemente de la zona horaria del proveedor.

Puedes cambiar este comportamiento:

{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | zona horaria IANA
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
  • envelopeTimezone: "utc" usa UTC.
  • envelopeTimezone: "local" usa la zona horaria del host.
  • envelopeTimezone: "user" usa agents.defaults.userTimezone (recurre a la zona horaria del host si no está definida).
  • Usa una zona horaria IANA explícita (ej., "America/Chicago") para una zona fija.
  • envelopeTimestamp: "off" elimina los timestamps absolutos de los encabezados del envelope.
  • envelopeElapsed: "off" elimina los sufijos de tiempo transcurrido (estilo +2m).

Ejemplos

Local (por defecto):

[WhatsApp +1555 2026-01-18 00:19 PST] hola

Zona horaria del usuario:

[WhatsApp +1555 2026-01-18 00:19 CST] hola

Tiempo transcurrido activado:

[WhatsApp +1555 +30s 2026-01-18T05:19Z] seguimiento

System prompt: fecha y hora actual

Si se conoce la zona horaria del usuario, el system prompt incluye una sección dedicada Current Date & Time con solo la zona horaria (sin formato de reloj/hora) para mantener estable el cacheo del prompt:

Time zone: America/Chicago

Cuando el agente necesita la hora actual, usa la herramienta session_status; la tarjeta de estado incluye una línea con el timestamp.

Líneas de eventos del sistema (local por defecto)

Los eventos del sistema encolados e insertados en el contexto del agente llevan un prefijo de timestamp con la misma selección de zona horaria que los envelopes de mensajes (por defecto: local del host).

System: [2026-01-12 12:19:17 PST] Model switched.

Configurar zona horaria del usuario + formato

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone establece la zona horaria local del usuario para el contexto del prompt.
  • timeFormat controla la visualización 12h/24h en el prompt. auto sigue las preferencias del SO.

Detección de formato de hora (auto)

Cuando timeFormat: "auto", OpenClaw inspecciona las preferencias del SO (macOS/Windows) y recurre al formato del locale. El valor detectado se cachea por proceso para evitar llamadas repetidas al sistema.

Payloads de herramientas + conectores (hora del proveedor + campos normalizados)

Las herramientas de canal devuelven timestamps nativos del proveedor y añaden campos normalizados para consistencia:

  • timestampMs: milisegundos epoch (UTC)
  • timestampUtc: cadena ISO 8601 en UTC

Los campos originales del proveedor se preservan para no perder información.

  • Slack: cadenas tipo epoch de la API
  • Discord: timestamps ISO en UTC
  • Telegram/WhatsApp: timestamps numéricos/ISO específicos del proveedor

Si necesitas la hora local, conviértela downstream usando la zona horaria conocida.

Documentación relacionada