The Linux date command displays the current date and time of the system. While writing the shell scripts, I realise that sometimes we are required to find future dates—for example, dates after 10 days, 2 months, or 1 year, etc.
The date command provides an option to display the future dates as described.
-d, --date=STRING display time described by STRING, not 'now'
Let’s understand this with some examples:
- Display current date: Simply type “date” to display the current date and time of system.
date
Thu Sep 22 03:58:36 UTC 2022 - Date after 10 days: What will be the date after 10 days? The below command will show you the desired results:
date -d "+10 days"
Sun Oct 2 03:58:48 UTC 2022 - Date after 3 months: Similarly to find the date after 3 months, type:
date -d "+3 months "
Thu Dec 22 03:58:58 UTC 2022 - Date after 1 year: What will be the date just after 1 year?
date -d "+1 year"
Fri Sep 22 03:59:05 UTC 2023
These commands are helpful to find the day, month date in the future after a specific duration. We can also format the date on display. Here are a few more examples to view future dates and times.
Command | Output | Details |
---|---|---|
date | Thu Sep 22 03:58:36 UTC 2022 | Display the current date. |
date -d “+10 days” | Sun Oct 2 03:58:48 UTC 2022 | Display date after 10 days. |
date -d “tomorrow” | Fri Sep 23 03:58:48 UTC 2022 | Show tomorrow’s date |
date -d “tomorrow + 1” | Fri Sep 24 03:58:48 UTC 2022 | Show date of the day after tomorrow. |
date +”%a” -d “+10 days” | Sun | Displa the day name after 10 days (eg: Sun, Mon etc) |
date +”%b %d, %Y” -d “+10 days” | Oct 02, 2022 | Display date after 10 days in custom format |
date -d “next sun” | Sun Sep 25 00:00:00 UTC 2022 | Display date on next Sunday |
date +”%b” -d “next month” | Oct | Shwo the next month name (eg: Oct, Nov etc) |
date -d “next week” | Thu Sep 29 04:46:32 UTC 2022 | Show the date on next week of same day |
date -d “Oct 12, 2022 +1 week” | Wed Oct 19 00:00:00 UTC 2022 | Date after 1 week of Oct 12, 2022(or other specific date) |
date +”%A” -d “Oct 12, 2022 +1 week” | Wednesday | Display the day name after one week of Oct 12, 2022. |