組織モードで、今日の日付でタイムスタンプを挿入するにはどうすればよいですか?


7

Lisp関数で、今日の日付のタイムスタンプを自動的に挿入するようにorgに指示するにはどうすればよいですか?

関数を見つけましたが、org-insert-time-stamp今日の日付を返す引数を提供する方法がわかりません。

関数のドキュメントは言う:

(org-insert-time-stamp TIME &optional WITH-HM INACTIVE PRE POST EXTRA)  

...しかし、TIME &optional WITH-HM INACTIVE PRE POST EXTRAこれらを関数でどのように指定するか、またはどのように指定するかについてのドキュメントがどこにあるかわかりません。

そして、これが私が書こうとしている関数です:

(defun org-today-heading-and-clock-in ()
  "Insert a new heading with today's date, and then clock in."
  (interactive)
  (org-insert-subheading)
  (org-insert-time-stamp (today))
  (org-clock-in))

回答:


5

少し推測してみましょう:

(org-insert-time-stamp (current-time))

ありがとうございました。一般的に、当て推量は別として、関数の引数がどの形式である必要があるかを知るにはどうすればよいですか?
白熱

1
定義にジャンプするだけです。たとえば、timeはを使用しformat-time-stringます。そして、そのドキュメントは何であるかをより明確に説明していtimeます。
abo-abo 2015年

2
@ abo-aboに同意しません。これはドキュメントのバグです。ドキュメンテーション文字列は、どちらかの機能にあなたを参照すべきであるformat-time-stringと言って、TIMEargは同じ種類のものであるか、のドキュメンテーション文字列が何を言うべきformat-time-stringについて述べているTIME: " によって返される時間は、(HIGH LOW USEC PSEC)として指定されcurrent-time' or たファイルの属性'。廃止された形式(HIGH。LOW)も引き続き使用できます。 "
Drew

docstringに追加:TIMEの形式については、 `format-time-string 'を参照
abo-abo

1
@grettke、それはC-x iデフォルトではありません、それはC-c .
nanny

1

タイムスタンプ形式が異なる次の2つの関数を使用しています。2015年または15年に使用する桁数、時間、分、秒なども指定できます。

(defun now ()
  "Insert string for the current time formatted like '2:34 PM' or 1507121460"
  (interactive)                 ; permit invocation in minibuffer
  ;;(insert (format-time-string "%D %-I:%M %p")))
  ;;(insert (format-time-string "%02y%02m%02d%02H%02M%02S")))
  (insert (format-time-string "%02y%02m%02d%02H%02M")))

(defun today ()
  "Insert string for today's date nicely formatted in American style,
  e.g. Sunday, September 17, 2000 or standard 17-09-2000."
  (interactive)       ; permit invocation in minibuffer
  ;;(insert (format-time-string "%A, %B %e, %Y")))
  (insert (format-time-string "%d-%m-%y")))

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.