Wie füge ich im org-Modus einen Zeitstempel mit dem heutigen Datum ein?


7

Wie weise ich in einer Lisp-Funktion org an, automatisch einen Zeitstempel mit dem heutigen Datum einzufügen?

Ich habe die Funktion gefunden org-insert-time-stamp, weiß aber nicht, wie ich ein Argument dafür liefern soll, das das heutige Datum zurückgibt.

Die Dokumentation für die Funktion lautet:

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

... aber ich sehe nicht, wo man Dokumentation darüber findet, was TIME &optional WITH-HM INACTIVE PRE POST EXTRAbedeutet oder wie man diese in einer Funktion spezifiziert.

Und hier ist die Funktion, die ich zu schreiben versuche:

(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))

Antworten:


5

Mit ein bisschen Rätselraten:

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

Vielen Dank. Wie finde ich im Allgemeinen heraus, in welchem ​​Format die Argumente einer Funktion vorliegen müssen, abgesehen von Vermutungen?
Glühlampen

1
Springe einfach zur Definition. Wird zum Beispiel timevon verwendet format-time-string. Und dieses Dokument erklärt klarer, was timeist.
Abo-Abo

2
Ich bin nicht einverstanden mit @ abo-abo. Dies ist ein Dokumentfehler. Die Dokumentzeichenfolge sollte Sie entweder auf die Funktion verweisen und angebenformat-time-string , dass das TIMEArgument von derselben Art ist, oder sie sollte angeben, was in der Dokumentzeichenfolge von format-time-stringsteht TIME: " TIME wird als (HIGH LOW USEC PSEC) angegeben, wie von current-time' or Dateiattributen zurückgegeben '. Die veraltete Form (HIGH. LOW) wird ebenfalls noch akzeptiert. "
Drew

Zur Dokumentzeichenfolge hinzugefügt: Siehe Format-Zeit-Zeichenfolge für das Format von TIME
abo-abo

1
@ Grettke, es ist nicht C-x istandardmäßig, es istC-c .
Kindermädchen

1

Ich verwende die folgenden zwei Funktionen mit unterschiedlichen Zeitstempelformaten. Die Anzahl der im Jahr zu verwendenden Ziffern, dh 2015 oder 15, sowie Stunden, Minuten, Sekunden usw. können ebenfalls angegeben werden.

(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")))

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.