You can but it gets complex. If you have a date in simple seconds, for example the seconds that have elapsed since midnight of Thursday, 1 January 1970 (POSIX time), it is relatively easy to add a minute to it:
$ date +%s
1379385111
$ date +%s | awk '{print "Current time is",$1,"soon will be", $1+60}'
Current time is 1379385275 soon will be 1379385335
Well and good, but what if you want to do this with human readable times? What if you want to add 4 months and 2 weeks? Calculating that in seconds is a pain and interpreting such a date is not easy either. For example, what date does 411174000
represent1?
How would you increment Sun 12 Dec 1936
by, say, 3 weeks? It is a surprisingly thorny problem if you're not allowed to use date manipulation libraries. Think about converting all dates to seconds and then adding, bear in mind that some months have 30 days, others 31, let alone February and the leap years. It really is not a trivial problem. That's why most programing languages have date manipulation libraries (Perl for example, or C).
On top of this, date
can deal with dates like tomorrow
or
Oct 18 2017
and can add and subtract them and return a human readable date instead of a string of digits.
Since the standard date
program makes this so much easier why should we go and reinvent the wheel?
1 It's Wed Jan 12 00:00:00 CET 1983