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.
timedatectltimedatectl status — Show detailed time and date status (same as no args).
timedatectl statustimedatectl show — Show properties in machine-readable format.
timedatectl showtimedatectl timesync-status — Show NTP synchronization details (server, offset, delay).
timedatectl timesync-statusTime Zone
timedatectl list-timezones — List all available time zones.
timedatectl list-timezonestimedatectl list-timezones | grep <region> — Search for a time zone.
timedatectl list-timezones | grep Berlintimedatectl set-timezone <timezone> — Set the system time zone.
sudo timedatectl set-timezone Europe/Berlintimedatectl set-timezone UTC — Set the time zone to UTC.
sudo timedatectl set-timezone UTCSet 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 truetimedatectl 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
- Arch Wiki: System time – thorough reference on the system clock, time zones and NTP on Linux
- systemd docs: timedatectl(1) – official manual page with every subcommand and option
Related Commands
- 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