andrew@riddle.UUCP (Andrew Beattie) (09/13/88)
in article <6006@ihlpf.ATT.COM>, spock@ihlpf.ATT.COM (Weiss) says: > > I would like to get my hands on (can you get hands on software?) > some functions that can to arithmatic on dates. Things like: > today + 2 weeks. Anybody have anything like that? > This is my all-time favorite hack! There follows a shell script which will tell you things like what date is next Friday: (I hope that the wizards think that this is sufficiently sneaky to justify my cross posting.) ------ cut here ------ ############################################################################ # whenis : find out date relative to today : Andrew Beattie 20/5/87 # # mcvax!ukc!reading!riddle!andrew # # andrew@sphinx.co.uk # ############################################################################ # I place this program in the public domain but please keep this header # # on it - I want the fame and glory! # ############################################################################ if [ $# = 0 ] then echo 'whenis today' echo 'whenis [next|last|this] sunday|monday|tuesday|wednesday|th...' exit fi # store current daylight adjustment light=`echo $TZ | cut -c4-` # find day of week and put '-' in front of it now=`date '+-%w'` for i do case $i in today) now=0 ;; next) now="$now +7" ;; last) now="$now -7" ;; tomorrow) now="1" ;; yesterday) now="-1" ;; sunday) now="$now +0" ;; monday) now="$now +1" ;; tuesday) now="$now +2" ;; wednesday) now="$now +3" ;; thursday) now="$now +4" ;; friday) now="$now +5" ;; saturday) now="$now +6" ;; esac done # work out number of hours adjustment adj=`echo "$light + ( -24 * ( $now ) )" |bc` # now for the magic - adjust the time zone by the given number # of hours and let date do the hard work. TZ=GMT$adj date