#monday
date -dmonday +%Y%m%d
#last monday
date -dlast-monday +%Y%m%d
#next monday
date -dnext-monday +%Y%m%d
#two mondays from now
date -d'monday+14 days' +%Y%m%d
#two mondays ago
date -d'monday-14 days' +%Y%m%d
#although, if you fancy yourself an Abraham Lincolin
date -d'monday-fortnight ago' +%Y%m%d #2 weeks ago
date -d'monday+fortnight' +%Y%m%d #2 weeks from now
#Monday Next Year
date -d'52+monday' +%Y%m%d
#However, Monday Last Year
date -d'52-monday' +%Y%m%d #DOES NOT WORK
#you can try a day other than monday
#and format this differently.
if a range is what your after you may need to do a few things
#Tuesday to Sunday
#since today is monday, I'll use Tuesday
echo `date -dtuesday +%Y%m%d-``date -dnext-sunday +%Y%m%d`
which would output:
20110628-20110703
More on Dates
note this only works on GNU date
I have read that:
Solaris version of date, which unable
to support -d
can be resolve with
replacing sunfreeware.com version of
date
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…