So what day was 9 days ago again?
$ when 9 days ago 2014-07-13
How do we do it?
Through the miracle of PHP1!
#!/usr/bin/env php <?php array_shift($argv); $date_string = implode(' ', $argv); date_default_timezone_set('America/Los_Angeles'); echo date('Y-m-d', strtotime($date_string)) . "\n";
One thing that PHP has going for it is a really nice date parsing function
strtotime. Give it just about anything and it will turn it into a date.
array_shift is used to pop off the first argument, which is the name of the function.
implode will stick the rest of the arguments together as a string rather than an array.
$ when last thursday 2014-07-17 $ when 2 months ago 2014-05-22
Particularly useful for the new style github interface. It’s nice to have human readable dates in commit logs, but not always what I want.
The entire source code is in my dotfiles repository: when.
A phrase I never expected to utter ↩︎