给定一个表,其中有一列时间范围,例如:
| <2015-10-02>--<2015-10-24> |
| <2015-10-05>--<2015-10-20> |
....
如何创建显示org- evaluate -time-range结果的列?
如果我尝试这样做:#+TBLFM: $2='(org-evaluate-time-range $1)
用
填充第二列 Time difference inserted
从两个不同的列(例如,start date
和end date
)生成相同的结果也会很好,而不是从这两个列中创建一个时间范围列。
如果您将日期范围分成两列,则使用简单的减法工作并返回天数:
| <2015-10-05> | <2015-10-20> | 15 |
| <2013-10-02 08:30> | <2015-10-24> | 751.64583 |
#+TBLFM: $3=$2-$1
使用org-evaluate-time-range
也是可能的,你会得到一个很好的格式化输出:
| <2015-10-02>--<2015-10-24> | 22 days |
| <2015-10-05>--<2015-10-20> | 15 days |
| <2015-10-22 Thu 21:08>--<2015-08-01> | 82 days 21 hours 8 minutes |
#+TBLFM: $2='(org-evaluate-time-range)
注意,org-evaluate-time-range
接受的唯一可选参数是一个标志,表示将结果插入到当前缓冲区中,这是您不希望看到的。
现在,这个函数(不带参数)如何在计算时获得正确的时间范围对我来说是一个完全的谜;纯粹的魔法(!)