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.
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.
(defun string-to-time (date)
(shell-command-to-string (format "date --date='%s' +%%s" date)))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With