How to use the command 'date' (with examples)
The ‘date’ command in Linux is used to set or display the system date. It provides various formatting options to display and manipulate dates according to different requirements.
Use case 1: Display the current date using the default locale’s format
Code:
date +%c
Motivation: This use case is helpful when you want to quickly display the current date in the format specified by the default locale.
Explanation: The ‘+%c’ argument is used to specify the format for displaying the date according to the default locale. The ‘%c’ format specifier represents the locale’s date and time format.
Example output:
Fri Sep 17 14:30:00 2021
Use case 2: Display the current date in UTC, using the ISO 8601 format
Code:
date -u +%Y-%m-%dT%H:%M:%S%Z
Motivation: This use case is useful when you want to display the current date and time in Coordinated Universal Time (UTC) using the ISO 8601 format, which is commonly used for data interchange.
Explanation: The ‘-u’ argument is used to display the date in UTC (Universal Coordinated Time). The ‘+%Y-%m-%dT%H:%M:%S%Z’ argument specifies the desired format using format specifiers: ‘%Y’ represents the year, ‘%m’ represents the month, ‘%d’ represents the day, ‘%H’ represents the hour, ‘%M’ represents the minute, ‘%S’ represents the second, and ‘%Z’ represents the time zone.
Example output:
2021-09-17T09:00:00UTC
Use case 3: Display the current date as a Unix timestamp (seconds since the Unix epoch)
Code:
date +%s
Motivation: This use case is helpful when you need to obtain the current date and time as a Unix timestamp, which is the number of seconds that have elapsed since January 1, 1970.
Explanation: The ‘+%s’ argument is used to display the current date and time as a Unix timestamp.
Example output:
1631881800
Use case 4: Convert a date specified as a Unix timestamp to the default format
Code:
date -d @1473305798
Motivation: This use case is useful when you want to convert a Unix timestamp to a human-readable date and time format.
Explanation: The ‘-d’ argument is used to specify the date to be converted. The ‘@1473305798’ argument specifies the Unix timestamp (in seconds) to be converted.
Example output:
Wed Sep 7 02:16:38 UTC 2016
Use case 5: Convert a given date to the Unix timestamp format
Code:
date -d "2018-09-01 00:00" +%s --utc
Motivation: This use case is helpful when you want to convert a specific date and time to the Unix timestamp format.
Explanation: The ‘-d’ argument is used to specify the date to be converted. The ‘“2018-09-01 00:00”’ argument represents the date and time to be converted. The ‘+%s’ argument specifies the desired format as a Unix timestamp. The ‘–utc’ argument ensures that the conversion is done in Coordinated Universal Time (UTC).
Example output:
1535731200
Use case 6: Display the current date using the RFC-3339 format
Code:
date --rfc-3339=s
Motivation: This use case is useful when you want to display the current date and time in the RFC-3339 format, which is a standardized format for representing dates and times.
Explanation: The ‘–rfc-3339=s’ argument is used to specify the format for displaying the date and time. The ’s’ specifies the format as ‘YYYY-MM-DD hh:mm:ss TZ’, where ‘YYYY’ represents the year, ‘MM’ represents the month, ‘DD’ represents the day, ‘hh’ represents the hour, ‘mm’ represents the minute, ‘ss’ represents the second, and ‘TZ’ represents the time zone.
Example output:
2021-09-17 14:30:00+00:00
Use case 7: Set the current date using a custom format
Code:
date 093023592021.59
Motivation: This use case is useful when you want to manually set the current date and time using a custom format.
Explanation: The ‘093023592021.59’ argument represents the desired date and time to be set. The format for setting the date is ‘MMDDhhmmYYYY.ss’, where ‘MM’ represents the month, ‘DD’ represents the day, ‘hh’ represents the hour, ‘mm’ represents the minute, ‘YYYY’ represents the year, and ‘.ss’ (optional) represents the seconds.
Example output:
No output is displayed, but the system date is set to September 30, 2021, 23:59:21.59.
Use case 8: Display the current ISO week number
Code:
date +%V
Motivation: This use case is helpful when you want to determine the ISO week number for the current date.
Explanation: The ‘+%V’ argument is used to display the current ISO week number.
Example output:
37
Conclusion
The ‘date’ command provides various options to set and display the system date according to different formats and requirements. By using the appropriate arguments, you can easily manipulate and convert dates, display them in specific formats, and perform calculations based on them.