timedatectl — Manage System Time, Time Zone and NTP with systemd

View and set the system clock, time zone and automatic time synchronization (NTP) on systemd-based Linux systems with timedatectl.

timedatectl is the central systemd tool for controlling the system clock, time zone and automatic time synchronization on a Linux machine. Run without arguments, it gives you local and UTC time, the configured time zone and the NTP status at a glance. With set-timezone and set-ntp you adjust both persistently, without editing configuration files by hand. An accurate clock is more than cosmetic: if it drifts, TLS certificates fail to validate, cron jobs misfire and log correlation falls apart.

Status & Info

timedatectl — Show current time, timezone, and NTP status.

timedatectl

timedatectl status — Show detailed time and date status (same as no args).

timedatectl status

timedatectl show — Show properties in machine-readable format.

timedatectl show

timedatectl timesync-status — Show NTP synchronization details (server, offset, delay).

timedatectl timesync-status

Time Zone

timedatectl list-timezones — List all available time zones.

timedatectl list-timezones

timedatectl list-timezones | grep <region> — Search for a time zone.

timedatectl list-timezones | grep Berlin

timedatectl set-timezone <timezone> — Set the system time zone.

sudo timedatectl set-timezone Europe/Berlin

timedatectl set-timezone UTC — Set the time zone to UTC.

sudo timedatectl set-timezone UTC

Set Time & Date

timedatectl set-time '<datetime>' — Set the system date and time manually.

sudo timedatectl set-time '2026-03-19 14:30:00'

timedatectl set-time '<date>' — Set the date only.

sudo timedatectl set-time '2026-03-19'

timedatectl set-time '<time>' — Set the time only.

sudo timedatectl set-time '14:30:00'

NTP & Sync

timedatectl set-ntp true — Enable automatic time synchronization via systemd-timesyncd (NTP).

sudo timedatectl set-ntp true

timedatectl set-ntp false — Disable NTP (required before manual time set).

sudo timedatectl set-ntp false

Conclusion

For everyday work three commands usually suffice: timedatectl for the status, set-timezone Europe/Berlin for the right time zone, and set-ntp true so systemd-timesyncd keeps the clock in sync automatically. Every set-* action writes to system state and therefore needs sudo; the tool also assumes a systemd-based system. Setting the time manually with set-time only works while NTP is disabled (set-ntp false) – and is usually the worse choice. Keep in mind that a clock running wrong is no minor detail: it makes TLS certificates fail, corrupts log timestamps and can completely break time-based authentication such as Kerberos or TOTP.

Further Reading

  • hostnamectl – manage the hostname and machine metadata through systemd
  • systemctl – control and inspect systemd services such as systemd-timesyncd
  • journalctl – query and filter the systemd journal with timestamps