Control the system time and date using the timedatectl command in the Linux Shell.
This post shows how to set the time and date in the Linux command line using timedatectl. It is always a good practice to maintain the correct system time. It’s essential and the prerequisite able to allow proper functioning of any service. The command line tool timedatectl use to check and modify time setting.
Run the query usingtimedatectl
without additional arguments:
$ timedatectl
Local time: Wed 2021-02-17 17:04:29 GMT
Universal time: Wed 2021-02-17 17:04:29 UTC
RTC time: Wed 2021-02-17 16:57:58
Time zone: Europe/London (GMT, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: n
Set time and date by timedatectl
To set-time switch along with the format of time in HH:MM:SS (Hour, Minute, and Seconds):
$ timedatectl set-time 14:09:0
set-time switch along with the format of date in YY:MM:DD (Year, Month, Day):
$ timedatectl set-time 2021-02-1
To set both date and time:
$ timedatectl "2021-02-18 14:09:05"
Check hardware clock
Find out if your hardware clock is set to local timezone:
$ timedatectl | grep local
Set hardware clock
Set your hardware clock to local timezone:
$ timedatectl set-local-rtc
Network time synchronization
Enable network time synchronization.
$ timedatectl set-ntp true
==== AUTHENTICATING FOR org.freedesktop.timedate1.set-ntp ===
Authentication is required to control whether network time synchronization shall be enabled.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
Ceck status of network time synchronization service.
$ systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-07-11 18:16:59 CEST; 1 months 2 days ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 650 (systemd-timesyn)
Status: "Initial synchronization to time server 84.16.73.33:123 (ch.pool.ntp.org)."
Tasks: 2 (limit: 4660)
Memory: 1.3M
CPU: 11.296s
CGroup: /system.slice/systemd-timesyncd.service
└─650 /lib/systemd/systemd-timesyncd
Show current status of systemd-timesyncd.service.
$ timedatectl timesync-status
Server: 84.16.73.33 (ch.pool.ntp.org)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 1
Reference: GPS
Precision: 1us (-25)
Root distance: 52us (max: 5s)
Offset: -159us
Delay: 6.944ms
Jitter: 531us
Packet count: 1392
Frequency: +16.521ppm
Maintain the correct time by timedatectl
The timedatectl command allows you to query and change the configuration of the system clock and its settings. You can use this command to set or change the current date, time, and timezone. Or enable automatic system clock synchronization with a remote NTP server.
Here you walk through the ways you can manage time on your Linux system by setting the date. The time, timezone, and synchronize time with NTP from the terminal using the new timedatectl command.
It is always a good practice to maintain the correct time on your Linux server or system and it can have the following advantages:
- maintain a timely operation of system tasks since most tasks in Linux are controlled by time.
- the correct time for logging events and other information on the system and many more.
time and date command
The time extension adds two functions named gettimeofday() and sleep(), as follows. time – time functions for gawk.
$ time
real 0m0.000s
user 0m0.000s
sys 0m0.000s
Display the current time in the given FORMAT, or set the system date.
$ date
Sun 13 Aug 2023 04:44:24 PM CEST
One thought on “How to Set Time and Date on Linux by timedatectl”