en modo org, ¿cómo insertar una marca de tiempo con la fecha de hoy?


7

En una función Lisp, ¿cómo le indico a la organización que inserte automáticamente una marca de tiempo con la fecha de hoy?

Encontré la función org-insert-time-stamp, pero no sé cómo proporcionar un argumento que devolverá la fecha de hoy.

La documentación para la función dice:

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

... pero no veo dónde encontrar documentación sobre qué TIME &optional WITH-HM INACTIVE PRE POST EXTRAsignifica o cómo especificarlos en una función.

Y aquí está la función que estoy tratando de escribir:

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

Respuestas:


5

Con un poco de conjeturas:

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

Gracias. En general, ¿cómo puedo saber en qué formato deben estar los argumentos de una función, además de las conjeturas?
incandescentman

1
Simplemente salta a la definición. Por ejemplo, timees utilizado por format-time-string. Y ese documento explica más claramente qué timees.
abo-abo

2
No estoy de acuerdo con @ abo-abo. Este es un error de documentación. La cadena de documentación debería referirlo a la función format-time-string, diciendo que el argumento TIMEes del mismo tipo, o debería decir lo que dice la cadena de documentación format-time-stringsobre TIME: " TIME se especifica como (PSEC ALTO BAJO USEC), como lo devuelven current-time' or los atributos de archivo ". La forma obsoleta (ALTA. BAJA) también sigue siendo aceptada. "
Drew

Agregado a la cadena de documentación: consulte `format-time-string 'para ver el formato de TIME
abo-abo

1
@grettke, no es C-x ipor defecto, esC-c .
niñera

1

Estoy usando las siguientes dos funciones con diferentes formatos de marca de tiempo. También se puede especificar el número de dígitos que se utilizarán en el año, es decir, 2015 o 15 y las horas, minutos, segundos, etc.

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.