How do you find out the date of next Monday on Thursday, August 29?

I was thinking about it, of course, I could calculate by myself. However, as usual, I was lazy and my brain didn’t even want to solve for the answer of one plus one. So, I didn’t bother clicking on calendar to view it or simply run cal 9 2013.

Instead, I ran:


~ $ date -d 'next monday'
Mon Sep 2 00:00:00 CST 2013

Moving mouse cursor, nah, too much work for me. I rather typed in a command since my hands were on keyboard and focus was in terminal window. Reading cal output, nah, locating next Monday is too much work, although it’s at first row.

I could be even lazier:


~ $ date -d monday
Mon Sep 2 00:00:00 CST 2013
~ $ date -d mon
Mon Sep 2 00:00:00 CST 2013

This is first time I typed in such date string for a result I actually wanted to know, and it’s quite a pretty good usage example in real life. However, I have used date parsing in sleeptil, a Bash function which I did use a few times.

Counting down to next Monday Morning Syndrome to happen? You bet I can. I have coded urtimer as a countdown timer, which I recently added -d, but it wasn’t by intention and I hadn’t known I would be somehow wanted to know “next monday.”


~ $ sleeptil -v 'next monday 6am'
Mon Sep 2 06:00:00 CST 2013 in 3 days 7 hour 23 minutes 26 seconds
~ $ urtimer -d 'next monday 8am'

Screen shows about 81 hours, like this

 ▄▀▀▀▄  ▄█      ▄█   ▄▀▀▀▄   █▀▀▀▀ ▀▀▀▀█   ▄▀▀▀▄
 █   █   █   ▀   █   █   █ ▀ █        ▐▌   █   █
 ▄▀▀▀▄   █   ▄   █    ▀▀▀█ ▄ ▀▀▀▀▄    █    █   █
 █   █   █       █       █       █   ▐▌    █   █
  ▀▀▀   ▀▀▀     ▀▀▀   ▀▀▀    ▀▀▀▀    ▀   ▀  ▀▀▀

The truth is I wasn’t lazy nor my brain didn’t want to give me an answer, somehow, I was looking for something different or unique. I could just move my hand to control the mouse, but I didn’t. My brain was actually knowing next Monday would be in September. Simple counting, I would know the answer, but I didn’t do it.

For some reason, I have developed a set of simple tools—which seemingly are related to one another—without even knowing I was doing that. Time certainly connects things we least expect, even people if you will, like one who is currently reading.

Anyway, the best one still is:


date -d 'next monday'

I love how you can tell date what you want with these two words.