I come across the need to compare the time and date in shell.
Here is how I did.
Convert the time to seconds
First we convert times into seconds and then compare them.
date
is a command to get the current time and date,
you can specify the output format by appending +FORMAT
option,
and specify the time not now
by appending -d STRING
option
For example:
date -d '2012-12-21 00:00:00` +%s
Compare seconds
Below is the script:
#!/bin/sh
doomsday=`date -d "2012-12-21" +%s`
today=`date +%Y-%m-%d`
today=`date -d $today +%s`
if [ $doomsday -gt $today ]; then
echo The world may end on December 21 2012.
elif [ $doomsday -eq $today ]; then
echo Today is the doomsday. What is happening now?
else
echo Congratulations! The world did not end on December 21 2012.
fi