【问题标题】:org-mode : how to calculate dynamic deadlinesorg-mode : 如何计算动态截止日期
【发布时间】:2015-09-14 07:18:03
【问题描述】:

我有一个任务的预定开始日期和完成任务的天数,

例如,在 N=5 以下的情​​况下,开始日期为

如何根据 schedule_date+5days 自动计算截止日期?

这样最后我有以下内容:

DEADLINE: <2016-02-03 Wed> SCHEDULED: <2016-01-27 Wed>

【问题讨论】:

  • 有几种不同的方法可以创建条目,创建截止日期和计划的时间戳。考虑解释您希望如何创建它们,以便更有可能得到答案。例如,您可能希望编辑帖子以包含 org-capture-template 条目;或者,您正在考虑使用的其他方法。您可能会发现类似的问题已经被问及回答了?:emacs.stackexchange.com/q/10294/2287
  • 我遇到的问题是我已经有一些具有预定义计划和截止日期的条目。但是在某些情况下,由于某些延迟,某些任务的预定日期需要推迟到以后的日期。我正在尝试找到一种自动方法来自动更新每个条目的截止日期,从预定日期 + N 天的努力。

标签: emacs org-mode


【解决方案1】:

下面的例子调用org-schedule;用户输入所需的日期/时间;然后将 5 天的时移添加到最后插入的时间戳中,org-deadline 以编程方式使用该值。如果用户希望小时/分钟出现在截​​止日期的时间戳中,则将with-hm 设置为t

[如果用户希望截止日期与预定日期具有完全相同的时间,则需要进行一些额外的工作。目前,截止日期默认为午夜。]

(defun schedule-me ()
(interactive)
  (org-schedule nil)
  (let* (
      (timeshift 5)
      (time
        (org-time-from-absolute
          (+
            timeshift
            (org-time-string-to-absolute org-last-inserted-timestamp))))
      (with-hm nil)
      (fmt (funcall (if with-hm 'cdr 'car) org-time-stamp-formats)) )
    (org-deadline nil (format-time-string fmt time))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多