For certain tasks or applications, you might need to set a specific date and time for testing or debugging purposes. If so, this tutorial is for you! This brief guide will provide you with step-by-step instructions on how to modify your system clock using the command line in Linux.
Whether you're dealing with time zone discrepancies or simply want to manually adjust the date and time, this tutorial will help you achieve your goal easily.
Table of Contents
You can change the system clock from the command line in Linux using the date command.
1. Set the date and time:
To set your system clock using command line, the command would be:
sudo date -s "YYYY-MM-DD HH:MM:SS"
Replace YYYY-MM-DD HH:MM:SS with the desired date and time. For example, to set the date to September 1, 2024, at 12:34:56, you would use:
sudo date -s "2024-09-01 12:34:56"
2. Sync the hardware clock:
After setting the system date and time, you should update the hardware clock to match the system clock using the hwclock command:
sudo hwclock --systohc
Remember to use sudo to run these commands with administrative privileges.
In this example, I set an older date for demonstration purpose. When you restart your Linux system after setting an old date and time, it automatically updates to the current date and time.
The automatic update to the current date and time upon reboot is typically due to the system reading the correct time from the hardware clock and/or synchronizing with NTP servers. This ensures that the system clock remains accurate and reliable.
Just in case if the date and time doesn't change automatically after reboot, you can easily revert back to the current date and time using any one of the following methods:
1. Get Date and Time from Google
Run the following command from your Terminal:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
This command does the following:
2. Synchronize with Network Time Protocol (NTP):
The easiest way to set your system's date and time back to the current time is to synchronize it with an NTP server. Most Linux distributions have ntpd or chrony installed by default, which can automatically synchronize the system clock with NTP servers.
Using ntpd:
sudo systemctl start ntpd sudo systemctl enable ntpd
Using chrony:
sudo systemctl start chronyd sudo systemctl enable chronyd
These commands will start the NTP service and enable it to run at startup, ensuring your system clock is always synchronized with the correct time.
3. Using ntpdate:
If you don't have an NTP daemon running, you can use the ntpdate command to set the time from an NTP server:
sudo ntpdate pool.ntp.org
This command will set your system's date and time to the current time according to the NTP server.
4. Using timedatectl:
On modern Linux distributions that use systemd, you can use the timedatectl command to set the date and time and enable NTP synchronization:
sudo timedatectl set-ntp true
This command will enable NTP synchronization and automatically set your system's date and time to the current time.
5. Manually Set the Date and Time:
If you prefer to manually set the date and time to the current values, you can use the date command again. However, you need to know the current date and time. You can find the current date and time from a reliable source, such as a website or another computer.
Once you identify the correct date and time, simply use the date command as we explained in the previous section.
sudo date MMDDhhmmYYYY.ss
Where:
For example:
sudo date 090314302024.00
This command would set the date to September 3, 2024, at 2:30 PM.
After setting the time, you might want to write the system clock to the hardware clock:
sudo hwclock --systohc
This ensures that the new time persists across reboots.
By using one of these methods, you can easily revert your system's date and time back to the current values.
Hope this helps.
The above is the detailed content of How To Set Date And Time From Command Line In Linux. For more information, please follow other related articles on the PHP Chinese website!