org-capture-templatesの現在のタイムスタンプ

org-modeのorg-captureテンプレートでは、現在のタイムスタンプを挿入する方法は何ですか?

私は%U を以下のように試しました:

(setq
 org-capture-templates
 (quote
  (
     ("k" "Capture an item and schedule it for tomorrow" entry
      (file+headline "today.org" "_tomorrow")
      "* TODO %^{Task Title} %^G
SCHEDULED: %t
Added: %U @ %a" :immediate-finish t))))

%U ショートコードは常に00:00時間を生成し、日付は org-capture が存在する時点でのアジェンダの表示日と同じです呼び出される。

ちなみに、テンプレートに「明日」のタイムスタンプを生成する方法についてもいくつか提案したいと思いますが、これはおそらく別の質問のトピックです。

1
Emacs 25.0.50.1、Org-modeバージョン8.2.10アジェンダビューから org-capture を呼び出しましたか?
追加された 著者 Matt Rogish,
OK、%U も私のために働いていましたが、TODOアジェンダのビューでのみ動作しました。週または日のアジェンダのビューでは、時刻は 00:00 に設定され、現在の時刻ではなく選択されたアジェンダの日付から日付がコピーされます。それはバグか機能ですか?
追加された 著者 Matt Rogish,
あるいは、この動作の原因となる変数がありますか?
追加された 著者 Matt Rogish,
議題ビューから org-capture を呼び出し、あなたのコードは期待どおりに機能しました:%U は現在の日付と時刻の非アクティブなタイムスタンプに置き換えられました。
追加された 著者 lillq,
私は org-capture を呼び出そうとしましたが、実際には org-agenda-capture を呼び出しました。 @erikstokesはそれが目撃したので、バグです。私は 00:00 も持っています。
追加された 著者 lillq,
どのEmacsとOrgのバージョンがありますか?あなたのコードは期待通りに機能します。
追加された 著者 Fernando Barrocal,

1 答え

org-agenda-capture (アジェンダのビューで k にバインドされている)のヘルプによれば、

日付の「org-capture」をポイントで呼び出します。   'C-1'接頭辞を使用して、ポイント(もしあれば)でHH:MM値を使用します。   現在のHH:MM時間。

時間がある行にカーソルを置くと正しく動作します。さもなければ、時間は常に "00:00"に設定されるようです。時間を取得する関数は org-get-cursor-date です。この機能は、

カーソルの日付を時間として返します。   これはカレンダーとアジェンダで、他の場所ではうまくいきます   現在の時刻を返します。   WITH-TIMEがnilでなければ、その時点でのイベントの時刻を返します(in   議題)または現在の時刻。

どこにでも、 except は時間のない予定表ビューの行にあり、関数は宣言されたとおりに動作します。しかし、何らかのタイムスタンプが見つからなければ、現在の日付は真夜中にデフォルトになります。関連するコードは

(setq date (calendar-gregorian-from-absolute day)
        defd (encode-time 0 (or mod 0) (or hod 0)
                  (nth 1 date) (nth 0 date) (nth 2 date)))

mod and hod are the minute and hour, but aren't getting set and thus default to 0.

これは関数の指定された意図と矛盾しているようで、機能ではなくバグかもしれません。

2
追加された
おそらく、 org-capture-agenda ではなく org-agenda-capture と呼ばれるでしょうか?
追加された 著者 lillq,
@artscanうん。編集されました。
追加された 著者 Fernando Barrocal,