Skip to main content
OpenClaw standardizes timestamps so the model sees a single reference time instead of a mix of provider-local clocks. Three surfaces show timezones, each with its own purpose:

Three timezone surfaces

The date and zone live below the system-prompt cache boundary, so day rollover does not invalidate the stable prefix. The prompt deliberately omits the live clock; when the agent needs exact current time and session_status is available, it calls that tool.

Setting the user timezone

If userTimezone is unset, OpenClaw resolves the host timezone at runtime via Intl.DateTimeFormat().resolvedOptions().timeZone without writing config. The same resolved zone is used for message envelopes, queued system events, the prompt’s local date, and heartbeat active hours. Clock rendering follows the host operating-system and locale preference. There is no separate 12-hour or 24-hour config setting. For provider examples and elapsed-time formatting, see Date & Time.
  • Date & Time - full envelope/tool/prompt behavior and examples.
  • Heartbeat - active hours use timezone for scheduling.
  • Cron Jobs - cron expressions use timezone for scheduling.