strtotime for Emacs Lisp
elisp, emacs, lisp, strtotime
Solution
While not exactly what you're asking for, this may be of use. There's a command `'org-schedule` in the package org-mode that has a really nice interface to choosing dates. The specific command that does it is `'org-read-date`, which understands many ways of representing the date, including:
+0 --> today
. --> today
+4d --> four days from today
+4 --> same as above
+2w --> two weeks from today
++5 --> five days from default date
+2tue --> second Tuesday from now.
If you're looking for an interactive way to specify dates with that handy syntactic sugar, that routine should fit the bill nicely. If you're looking for a programmatic solution, it looks as though the above command calls `'org-read-date-analyze` to do the leg work. Note: its usage is a little obscure (two of its arguments are never defined...), so if you can't figure it out directly, it might be worth sending mail to the org mailing list.
Problem
Is there any functionality in Emacs Lisp that behaves similar to PHP's `strtotime` function? (Actually AFAIK it implements relative items of the GNU date input formats.) In PHP I can write ``` echo strtotime("+2 months"); //1258891352 echo strtotime("-3 months +2 weeks"); //1246952239 ``` which return the corresponding UNIX timestamps.