emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] How can I calculate the "age" of a headline?


From: Thorsten Jolitz
Subject: Re: [O] How can I calculate the "age" of a headline?
Date: Tue, 19 Aug 2014 19:50:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

M <address@hidden> writes:

> Thanks!
> I'm using a setup based on Bert Hansen's, so I think I'm already using this
> feature and a new headline looks like that:
>
> ** new headline
> [2014-08-19 Di 18:28]
>
> however, my question is how I can search for this timestamp (I'm not
> sure if
> it is always at the same line below the headline, as sometimes there is a
> logbook inbetween) and calculate the difference to today in days and then
> display that as a separate column


M <address@hidden> writes:

> Thanks!
> I'm using a setup based on Bert Hansen's, so I think I'm already using this
> feature and a new headline looks like that:
>
> ** new headline
> [2014-08-19 Di 18:28]
>
> however, my question is how I can search for this timestamp (I'm not
> sure if
> it is always at the same line below the headline, as sometimes there is a
> logbook inbetween) and calculate the difference to today in days and then
> display that as a separate column

I don't know about that column stuff, but a variation of John's
solution should give you the info you want:

#+BEGIN_SRC emacs-lisp
  (defun my-time-to-now ()
    (interactive)
    (save-restriction
      (org-narrow-to-subtree)
      (org-time-stamp-to-now
       (org-element-map (org-element-parse-buffer) 'timestamp
         (lambda (--stamp)
           (when (eq (org-element-property :type --stamp) 'inactive)
             (org-element-property :raw-value --stamp)))
         nil 'FIRST-MATCH))))
#+END_SRC

#+results:
: my-time-to-now


#+BEGIN_SRC emacs-lisp  :results pp
  (save-excursion
    (outline-next-heading)
    (my-time-to-now))
#+END_SRC

#+results:
: -2


* ORG SCRATCH <2014-08-19 Di>
[2014-08-17 So 19:30]


> Kind regards
>
> Martin 
>
>
>> Von: Thorsten Jolitz <address@hidden>
>> Datum: Tue, 19 Aug 2014 17:34:25 +0200
>> An: <address@hidden>
>> Betreff: Re: [O] How can I calculate the "age" of a headline?
>> 
>> M <address@hidden> writes:
>> 
>>> In my task lists, I'm working with scheduled and deadline dates.
>>> However, it would also often be very interesting, how "old" a task
>>> is, how
>>> long it is lurking around on my lists..
>> 
>> I copied Bernt Hansens setup for toggling automatic insertion of
>> inactive timestamps at headline creation. The tj/ prefix is there only
>> for my convenience, it should really be bh/ (-> Bernt Hansen).
>> 
>> #+BEGIN_SRC emacs-lisp
>> ;; *** Timestamps
>> 
>> ;; **** Configuration
>> 
>> (add-hook 'org-insert-heading-hook
>>           'tj/insert-heading-inactive-timestamp 'append)
>> 
>> ;; **** Functions
>> 
>> (defvar tj/insert-inactive-timestamp t)
>> 
>> (defun tj/toggle-insert-inactive-timestamp ()
>>   (interactive)
>>   (setq tj/insert-inactive-timestamp
>>         (not tj/insert-inactive-timestamp))
>>   (message "Heading timestamps are %s"
>>            (if tj/insert-inactive-timestamp "ON" "OFF")))
>> 
>> (defun tj/insert-inactive-timestamp ()
>>   (interactive)
>>   (org-insert-time-stamp nil t t nil nil nil))
>> 
>> (defun tj/insert-heading-inactive-timestamp ()
>>   (save-excursion
>>     (when tj/insert-inactive-timestamp
>>       (org-return)
>>       (org-cycle)
>>       (tj/insert-inactive-timestamp))))
>> #+END_SRC
>> 
>> -- 
>> cheers,
>> Thorsten
>> 
>> 
>
>
>
>

-- 
cheers,
Thorsten




reply via email to

[Prev in Thread] Current Thread [Next in Thread]