Earlier in org-capture-fill-template, there is the following: (let* (... (ct (org-capture-get :default-time)) ... The property :default-time defaults to the current time and is overwritten by file+datetree+prompt, If ct was passed as a 2nd argument to format-time-string in your code snippet: ;; The current time (goto-char (point-min)) (while (re-search-forward "%<\\([^>\n]+\\)>" nil t) (replace-match (format-time-string (match-string 1) ct) t t)) this should provide the behavior I'm looking for with file+datetree+prompt, but still use the current time for other capture types. Will this solution break anything? Shankar On Wed, Nov 4, 2015 at 2:15 PM, Nick Dokos wrote: > Shankar Rao writes: > > > For the following org capture template: > > > > (setq org-capture-templates > > '(("d" "Date Tree Test" plain > > (file+datetree+prompt "~/org/testdt.org") > > "This date should be the date i picked: %<%y%m%d>"))) > > > > Though this is filed under the correct date in the datetree, no matter > what date I select in the prompt, > > the date displayed in the template is the current date. Is this a bug or > a feature? > > > > It's a feature I guess - org-capture.el says: > > ;; The current time > (goto-char (point-min)) > (while (re-search-forward "%<\\([^>\n]+\\)>" nil t) > (replace-match (format-time-string (match-string 1)) t t)) > > and there is no provision for another time to be given here. I don't > think there is any provision in the template for a time other than the > current time: at least I can't see a %-escape that takes a different > time. > > -- > Nick > > >