Datum & Zeit

OpenClaw verwendet standardmäßig Host-Lokalzeit für Transport-Zeitstempel und Nutzer-Zeitzone nur im System-Prompt. Provider-Zeitstempel bleiben erhalten, damit Tools ihre native Semantik behalten (die aktuelle Zeit ist über session_status verfügbar).

Message Envelopes (standardmäßig lokal)

Eingehende Nachrichten werden mit einem Zeitstempel (Minutengenauigkeit) versehen:

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

Dieser Envelope-Zeitstempel 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 Host-Zeitzone zurück).
  • Nutze eine explizite IANA-Zeitzone (z. B. "Europe/Berlin") für eine feste Zone.
  • envelopeTimestamp: "off" entfernt absolute Zeitstempel aus Envelope-Headern.
  • envelopeElapsed: "off" entfernt verstrichene Zeit-Suffixe (das +2m-Format).

Beispiele

Lokal (Standard):

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

Nutzer-Zeitzone:

[WhatsApp +1555 2026-01-18 00:19 CET] hallo

Verstrichene Zeit aktiviert:

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

System-Prompt: Aktuelles Datum & Zeit

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

Time zone: Europe/Berlin

Wenn der Agent die aktuelle Zeit braucht, nutze das session_status-Tool; die Status-Karte enthält eine Zeitstempel-Zeile.

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

Warteschlangen-System-Events, die in den Agent-Context eingefügt werden, erhalten einen Zeitstempel-Präfix mit der gleichen Zeitzonenauswahl wie Message Envelopes (Standard: Host-lokal).

System: [2026-01-12 12:19:17 CET] Modell gewechselt.

Nutzer-Zeitzone + Format konfigurieren

{
  agents: {
    defaults: {
      userTimezone: "Europe/Berlin",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone legt die Nutzer-Lokalzeitzone für den Prompt-Context 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 + Connectors (rohe Provider-Zeit + normalisierte Felder)

Channel-Tools geben Provider-native Zeitstempel 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-Zeitstempel
  • Telegram/WhatsApp: Provider-spezifische numerische/ISO-Zeitstempel

Wenn du Lokalzeit brauchst, konvertiere sie nachgelagert mit der bekannten Zeitzone.

Verwandte Docs