Вычислить временной диапазон в таблице режима организации
Дана таблица со столбцом временных диапазонов, например:
| <2015-10-02>--<2015-10-24> |
| <2015-10-05>--<2015-10-20> |
....
Как я могу создать столбец с результатами org-evalute-time-range?
Если я попытаюсь что-то вроде: #+TBLFM: $2='(org-valu-time-range $1)
2-й столбец заполнен
Time difference inserted
в каждом ряду.
Также было бы неплохо получить один и тот же результат из двух разных столбцов, скажем, start date
а также end date
вместо того, чтобы создавать один столбец времени, из этих двух.
1 ответ
Если ваш диапазон дат разделен на 2 столбца, простое вычитание работает и возвращает количество дней:
| <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
accept принимает флаг, указывающий на вставку результата в текущий буфер, который вам не нужен.
Теперь, как эта функция (без аргументов) получает правильный диапазон времени при оценке, является для меня полной загадкой; чистая магия (!)