diff --git a/doc/manual.org b/doc/manual.org index b73097c..c9b8d97 100644 --- a/doc/manual.org +++ b/doc/manual.org @@ -250,6 +250,8 @@ 5. Function - chronometrist-midnight-spanning-p (start-time stop-time) 6. Function - chronometrist-seconds-to-hms (seconds) * seconds -> list-duration + 7. Function - chronometrist-interval (event) + * event -> duration *** chronometrist-timer.el 1. Internal Variable - chronometrist--timer-object 2. Function - chronometrist-timer () diff --git a/elisp/chronometrist-time.el b/elisp/chronometrist-time.el index b1b83d7..2a09ca2 100644 --- a/elisp/chronometrist-time.el +++ b/elisp/chronometrist-time.el @@ -98,6 +98,14 @@ SECONDS must be a positive integer." (h (/ seconds 3600))) (list h m s))) +(defun chronometrist-interval (event) + "Return the period of time covered by EVENT as a time value. +EVENT should be a plist (see `chronometrist-file')." + (let ((start (plist-get event :start)) + (stop (plist-get event :stop))) + (time-subtract (parse-iso8601-time-string stop) + (parse-iso8601-time-string start)))) + (provide 'chronometrist-time) ;; Local Variables: