Issue
So I am trying to compare 2 dates in bash , but my dates contains characters like Jan or Monday . Can I compare them directly or do i need to format them like this "20201607"(and how do i do this plz) and them numerically compare them? Thank you For example:
today=$(date)
day='21 Jan 2021'
if [ $today < $day ]
echo "$day"
basically my function will just return the dates who does not happened atm.
Solution
Zenity can help you: Tell zenity what output date format you want:
while ! date=$(zenity --calendar --date-format '%Y%m%d'); do
# ...........................^^^^^^^^^^^^^^^^^^^^^^
echo "Don't cancel the zenity window, select a day"
done
# bash v4.2+ can to date formatting
today=$(printf '%(%Y%m%d)T' -1)
if [ "$date" -gt "$today" ]; then
echo "you entered a future date"
fi
Answered By - glenn jackman Answer Checked By - Terry (WPSolving Volunteer)