Using org-capture-templates to schedule a TODO for the day after today

后端 未结 3 1907
悲&欢浪女
悲&欢浪女 2021-02-04 04:39

In org-mode, I know how to create a todo and use the timestamp so that it is scheduled for today. How do I schedule it for tomorrow? Unfortunately I don\'t know Elisp and don\'t

相关标签:
3条回答
  • 2021-02-04 05:21

    This should work for your template string:

    "\n\n** TODO %?\nSCHEDULED: <%(org-read-date nil nil \"+1d\")>"
    

    org-read-date generates a timestamp; +1d means tomorrow.

    0 讨论(0)
  • 2021-02-04 05:30

    And further more, if you want a repeatable template, which generates a time stamp like:

    SCHEDULED: <2012-08-17 Fri .+1d>
    

    you may use this one:

    SCHEDULED:%(org-insert-time-stamp (org-read-date nil t) nil nil nil nil \" .+1d\")
    
    0 讨论(0)
  • 2021-02-04 05:38

    Working off Juancho's answer* I was able to come up with a valid timestamp.

    The following will provide an org-created timestamp.

    "[...]SCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+1d\"))" 
    

    org-read-date generates a date and +1d shifts it one day in the future. nil t tells it to not include HH:MM time and to convert the date into an internal TIME representation.

    org-insert-time-stamp takes TIME and converts it to a timestamp using the normal org-mode format (including weekday abbreviation)

    *The answer does not work because <%(org-read-date nil nil \"+1d\")>" results in <YYYY-MM-DD>


    Update

    A timestamp of is now valid in Org mode (it was added to allow for entering timestamps from outside org-mode where they would not automatically be able to calculate the day of the week I believe).

    Therefore Juancho's answer would work as well.

    0 讨论(0)
提交回复
热议问题