mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-07-15 19:16:28 +00:00
Time specifications: Allow specifying relative times
* org.el (org-parse-time-string): Allow strings supported by tags/properties matcher (eg <now>, <yesterday>, <-7d>) if the time starts with < and ends with >. This means that e.g. in the clocktable parameters you can specify :tstart "<-1w>" :tend "<now>". TINYCHANGE
This commit is contained in:
parent
f426dadef0
commit
001bcb9645
23
lisp/org.el
23
lisp/org.el
|
@ -16019,16 +16019,19 @@ When SHOW-ALL is nil, only return the current occurrence of a time stamp."
|
|||
This should be a lot faster than the normal `parse-time-string'.
|
||||
If time is not given, defaults to 0:00. However, with optional NODEFAULT,
|
||||
hour and minute fields will be nil if not given."
|
||||
(if (string-match org-ts-regexp0 s)
|
||||
(list 0
|
||||
(if (or (match-beginning 8) (not nodefault))
|
||||
(string-to-number (or (match-string 8 s) "0")))
|
||||
(if (or (match-beginning 7) (not nodefault))
|
||||
(string-to-number (or (match-string 7 s) "0")))
|
||||
(string-to-number (match-string 4 s))
|
||||
(string-to-number (match-string 3 s))
|
||||
(string-to-number (match-string 2 s))
|
||||
nil nil nil)
|
||||
(cond
|
||||
((string-match "^<.+>$" s)
|
||||
(decode-time (seconds-to-time (org-matcher-time s))))
|
||||
((string-match org-ts-regexp0 s)
|
||||
(list 0
|
||||
(if (or (match-beginning 8) (not nodefault))
|
||||
(string-to-number (or (match-string 8 s) "0")))
|
||||
(if (or (match-beginning 7) (not nodefault))
|
||||
(string-to-number (or (match-string 7 s) "0")))
|
||||
(string-to-number (match-string 4 s))
|
||||
(string-to-number (match-string 3 s))
|
||||
(string-to-number (match-string 2 s))
|
||||
nil nil nil))
|
||||
(error "Not a standard Org-mode time string: %s" s)))
|
||||
|
||||
(defun org-timestamp-up (&optional arg)
|
||||
|
|
Loading…
Reference in a new issue