For a capture template I want to insert inactive dates for the upcoming week (without a prompt). In this format (no time component):

[2020-02-10 Mo]

I've figured out that I could do something like this
[%(org-read-date nil nil "Tue")] which yields [2020-02-11]. So it misses the weekday.

I also know about this method
(org-insert-time-stamp (org-read-date nil t "+1d")) but that timestamp is not inactive.

1 Answer 1


I was close with my last try.
Reading the documentation does help :)

%(org-insert-time-stamp (org-read-date nil t "+1d") nil t)
does the trick. And you can do any date arithmetic in the string part that you would do at the interactive prompt.

  • Hey Sebstian, what ist the "%" sign for? Commented Apr 11, 2022 at 11:55
  • @breathe_in_breathe_out if you want to execute custom code in a capture template you have to prefix it with the %-sign. There are many possible template expansions and %(EXP) is one of them. For a detailed overview see orgmode.org/manual/Template-expansion.html
    – sebastian
    Commented Apr 11, 2022 at 13:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.