Datum & Uhrzeit

OpenClaw verwendet standardmäßig Host-lokale Zeit für Transport-Timestamps und die Benutzer-Zeitzone nur im System-Prompt. Provider-Timestamps werden beibehalten, damit Tools ihre native Semantik behalten (die aktuelle Uhrzeit ist über session_status abrufbar).

Message-Envelopes (standardmäßig lokal)

Eingehende Nachrichten werden mit einem Timestamp versehen (minutengenau):

[Provider ... 2026-01-05 16:26 PST] message text

Dieser Envelope-Timestamp ist standardmäßig Host-lokal, unabhängig von der Provider-Zeitzone.

Du kannst dieses Verhalten überschreiben:

{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA-Zeitzone
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
  • envelopeTimezone: "utc" verwendet UTC.
  • envelopeTimezone: "local" verwendet die Host-Zeitzone.
  • envelopeTimezone: "user" verwendet agents.defaults.userTimezone (fällt auf die Host-Zeitzone zurück).
  • Verwende eine explizite IANA-Zeitzone (z. B. "America/Chicago") für eine feste Zone.
  • envelopeTimestamp: "off" entfernt absolute Timestamps aus den Envelope-Headern.
  • envelopeElapsed: "off" entfernt die Elapsed-Time-Suffixe (im Stil von +2m).

Beispiele

Lokal (Standard):

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

Benutzer-Zeitzone:

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

Elapsed-Time aktiviert:

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

System-Prompt: Aktuelles Datum & Uhrzeit

Wenn die Benutzer-Zeitzone bekannt ist, enthält der System-Prompt einen eigenen Abschnitt Current Date & Time mit nur der Zeitzone (kein Uhrformat), um das Prompt-Caching stabil zu halten:

Time zone: America/Chicago

Wenn der Agent die aktuelle Uhrzeit benötigt, verwende das session_status-Tool; die Statuskarte enthält eine Timestamp-Zeile.

System-Event-Zeilen (standardmäßig lokal)

Eingereihte System-Events, die in den Agent-Kontext eingefügt werden, erhalten einen Timestamp-Prefix mit der gleichen Zeitzonen-Auswahl wie Message-Envelopes (Standard: Host-lokal).

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

Benutzer-Zeitzone + Format konfigurieren

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone legt die benutzerlokale Zeitzone für den Prompt-Kontext fest.
  • timeFormat steuert die 12h/24h-Anzeige im Prompt. auto folgt den OS-Einstellungen.

Zeitformat-Erkennung (auto)

Bei timeFormat: "auto" prüft OpenClaw die OS-Einstellung (macOS/Windows) und fällt auf Locale-Formatierung zurück. Der erkannte Wert wird pro Prozess gecacht, um wiederholte Systemaufrufe zu vermeiden.

Tool-Payloads + Konnektoren (rohe Provider-Zeit + normalisierte Felder)

Channel-Tools geben Provider-native Timestamps zurück und fügen normalisierte Felder für Konsistenz hinzu:

  • timestampMs: Epoch-Millisekunden (UTC)
  • timestampUtc: ISO-8601-UTC-String

Rohe Provider-Felder bleiben erhalten, damit nichts verloren geht.

  • Slack: Epoch-ähnliche Strings aus der API
  • Discord: UTC-ISO-Timestamps
  • Telegram/WhatsApp: Provider-spezifische numerische/ISO-Timestamps

Wenn du lokale Zeit benötigst, konvertiere sie nachgelagert mit der bekannten Zeitzone.

Verwandte Dokumente