Using the date command (with examples)
- Osx
- November 5, 2023
The date command in Unix-like operating systems is used to set or display the system date and time. It can be used in various ways to display the date and time in different formats. In this article, we will explore the different use cases of the date command and provide code examples for each.
Display the current date using the default locale’s format
date +%c
Motivation: You might want to display the current date using the default locale’s format to have a human-readable representation of the date and time. This can be useful for displaying dates in log files or when interacting with users.
Explanation: The +%c
argument is used to format the date as per the default locale’s format. It includes the day of the week, month, day, time, and year.
Example output:
Sun Sep 1 10:30:35 EDT 2022
Display the current date in UTC and ISO 8601 format
date -u +%Y-%m-%dT%H:%M:%SZ
Motivation: When dealing with international systems or when precise timekeeping is required, displaying the date and time in UTC (Coordinated Universal Time) and ISO 8601 format can ensure consistency and eliminate confusion caused by time zone differences.
Explanation: The -u
argument is used to display the date in UTC (Greenwich Mean Time) instead of the local time. The +%Y-%m-%dT%H:%M:%SZ
argument is used to format the date and time in the ISO 8601 format, which consists of the year, month, day, and time along with the ‘T’ separator and ‘Z’ indicating UTC.
Example output:
2022-09-01T14:30:35Z
Display the current date as a Unix timestamp
date +%s
Motivation: Unix timestamps represent the number of seconds that have elapsed since the Unix epoch (January 1, 1970, 00:00:00 UTC). This format is widely used in computer systems and APIs for storing and manipulating dates and times. Displaying the current date as a Unix timestamp can be useful for various calculations or comparisons.
Explanation: The +%s
argument is used to format the current date as a Unix timestamp. It returns the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.
Example output:
1667322235
Display a specific date using a Unix timestamp
date -r 1473305798
Motivation: Sometimes, you might have a Unix timestamp and want to convert it into a human-readable date. The date command can also be used to display a specific date represented as a Unix timestamp.
Explanation: The -r
argument is used to specify a Unix timestamp, and the provided timestamp (1473305798) represents September 8, 2016, 14:43:18 UTC. The command will display this specific date using the default locale’s format.
Example output:
Thu Sep 8 10:43:18 EDT 2016
By utilizing the different options of the date command, you can easily display the current date and time in various formats, convert Unix timestamps, or display specific dates. These examples demonstrate some of the most common use cases of the date command and provide a starting point for further exploration and customization to suit your specific needs.