howtouselinux

3 ways to get time in Linux

Table of Contents

There are a few different ways to check the time on your Linux machine. The first way is to use the date command. This command displays the current date and time in human-readable format.

The second way is to use the timedatectl command. This command allows you to view and change the system time and date settings.

The third way is to use the hwclock command. This command shows or sets hardware clock information on Linux systems.

Procedure to check time in Linux

The procedure to get time in Linux is as follows:

  • Open the terminal.
  • Type date or timedatectl command
  • Press Enter to run the command.
  • The command output displays the time in human-readable format.

 

Get time with date command in Linux

To get time in Linux, you can use the date command. This command can be used to display or change the system time. To format the date command’s output, you can use control characters preceded by a + sign.

The output will look something like this by default: Tue Jan 22 23:59:59 EST 2020

 Format controls begin with the % symbol and are substituted by their current values.

Here, the %Y character is replaced with the current year,%m with month, and %d with the day of the month:

date +"Year: %Y, Month: %m, Day: %d"
Year: 2022, Month: 04, Day: 16

Here are more examples of time format.
Command: $date "+%D"
Output: 10/11/30
Command: $date "+%D %T"
Output: 10/11/30 16:13:27
Command: $date "+%Y-%m-%d"
Output: 2030-10-11
Command: $date "+%Y/%m/%d"
Output: 2030/10/11

The following are the date format options.
$date +%[format-option]
%D: Display date as mm/dd/yy.
%d: Display the day of the month (01 to 31).
%a: Displays the abbreviated name for weekdays (Sun to Sat).
%A: Displays full weekdays (Sunday to Saturday).
%h: Displays abbreviated month name (Jan to Dec).
%b: Displays abbreviated month name (Jan to Dec).
%B: Displays full month name(January to December).
%m: Displays the month of year (01 to 12).
%y: Displays last two digits of the year(00 to 99).
%Y: Display four-digit year.
%T: Display the time in 24 hour format as HH:MM:SS.
%H: Display the hour.
%M: Display the minute.
%S: Display the seconds.

Related: 2 ways to change timezone in Linux

Get time with timedatectl command in Linux

We can also use timedatectl command to get time in Linux. This command allows you to view and change the system time and date settings.

To use the timedatectl command, type “timedatectl” at the command prompt. This will display the current system time and date settings.

$ timedatectl
Local time: Sat 2022-04-16 13:06:00 GMT
Universal time: Sat 2022-04-16 13:06:00 UTZ
RTC time: Sat 2022-04-16 13:02:34
Time zone: GMT (GMT, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes

To change the system time, use the set-time option. For example, to set the system time to 12:00pm on January 22nd, 2030, you would type the following command:

timedatectl set-time "2030-01-22 12:00:00"

related: 3 ways to check process start time in Linux

Find time with hwclock command in Linux

We can also check the time in Linux with the hwclock command. This command shows or sets hardware clock information on Linux systems.

The hardware clock is a clock that is set by the BIOS and is used to keep track of the time when the system is turned off. The system time is the time that is set by the operating system and is used when the system is turned on.

To use the hwclock command, type “hwclock” at the command prompt. This will display the current system time in hardware clock format.

To set the system time, use the –set option. For example, to set the system time to 12:00pm on January 22nd, 2019, you would type the following command:

hwclock --set --date "2030-01-22 12:00:00"

related: 3 Ways to get file modified time in Linux

Understanding time in Linux

In Linux, time is measured in seconds since the Unix epoch. The Unix epoch is January 1, 1970 UTC. This means that the time on your Linux machine is always relative to this date.

Checking the time on your Linux machine is important for a number of reasons. For example, if you are running a cron job, you will want to make sure that the time is set correctly so that the job will run at the correct time.

Additionally, if you are troubleshooting an issue on your machine, checking the time can be helpful in determining when the issue occurred.

David Cao
David Cao

Hey there! I am David, a Cloud & DevOps Enthusiast and 18 years of experience as a Linux engineer. I work with AWS, Git & GitHub, Linux, Python, Ansible, and Bash. I am a technical blogger and a Software Engineer, enjoy sharing my learning and contributing to open-source.