org-agenda 如何在完成的日期基础上设置新的schedule和deadline?

比如今天是01月11日,运行org-todo命令

* TODO Eat vegetable
  SCHEDULED: <2020-01-09 Thu +5d>
  DEADLINE: <2020-01-14 Tue +5d>

会变成

* TODO Eat vegetable
  SCHEDULED: <2020-01-14 Tue +5d>
  :PROPERTIES:
  :LAST_REPEAT: [2020-10-07 Wed 19:50]
  :END:
  - State "DONE"       from "TODO"       [2020-10-07 Wed 19:50]
  DEADLINE: <2020-01-19 Sun +5d>

上面的是在原来的基础上直接加 5 day

我想要的是比如说,重复下一次任务,在完成日 01月11日 的基础上 +5day

所以下一次 SCHEDULE 是 01月16日, DEADLINE 是 01月21日

NOTE: 红色代表任务期间, 白色背景表示当前日

用 “.+5d”, see differences between “+”, “++” and “.+” here.

但是 DEADLINESCHEDULED 重复啊 :hugs:

* TODO Eat vegetable
  SCHEDULED: <2020-10-12 Mon .+5d>
  :PROPERTIES:
  :LAST_REPEAT: [2020-10-07 Wed 20:06]
  :END:
  - State "DONE"       from "TODO"       [2020-10-07 Wed 20:06]
  DEADLINE: <2020-10-12 Mon .+5d>

你是想一周5天每天都吃蔬菜吗?

用这个: <%%(memq (calendar-day-of-week date) '(1 2 3 4 5))> , 看这个 回答

可能 Eat Vegetable 的例子并不是很好, 还是换成 Eat Meat,比如减肥啊,暂不管做什么,不然就 off-topic 了,反正就是不能不吃肉,也不能一直吃肉的意思。 :grimacing: :expressionless:

就是第一次在6天内完成,下一次从完成日的5天后重新计算,然后在新的6天内完成,重复这个过程 :thinking:

总之,就是 SCHEDULE 可以用.+5完成,DEADLINE的话, 用Elisp表达就是 (setq DEADLINE (+ SCHEDULE 5))

那不就是10天一个周期嘛?

* TODO Eat vegetable
  SCHEDULED: <2020-01-09 Thu .+5d>
  DEADLINE: <2020-01-14 Tue .+10d>
1 个赞

妙啊!!!!