no modo organizacional, como inserir registro de data e hora com a data de hoje?


7

Em uma função Lisp, como instruo a organização a inserir automaticamente um carimbo de data / hora com a data de hoje?

Encontrei a função org-insert-time-stamp, mas não sei como fornecer um argumento que retorne a data de hoje.

A documentação para a função diz:

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

... mas não vejo onde encontrar documentação sobre o que TIME &optional WITH-HM INACTIVE PRE POST EXTRAsignifica ou como especificá-los em uma função.

E aqui está a função que estou tentando escrever:

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

Respostas:


5

Com um pouco de adivinhação:

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

Obrigado. Em geral, como descubro em que formato os argumentos de uma função precisam estar, além de adivinhações?
incandescentman

11
Basta pular para a definição. Por exemplo, timeé usado por format-time-string. E esse documento explica mais claramente o que timeé.
precisa saber é

2
Não concordo com @ abo-abo. Este é um bug de documento. A sequência de documentos deve indicar a função format-time-string, dizendo que o TIMEargumento é do mesmo tipo, ou deve dizer o que a sequência de documentos format-time-stringdiz sobre TIME: " TIME é especificado como (HEC LOW USEC PSEC), conforme retornado por current-time' or atributos de arquivo '. A forma obsoleta (ALTA. BAIXA) também é aceita. "
Drew

Adicionado ao docstring: Veja `format-time-string 'para o formato de TIME
abo-abo

11
@grettke, não é C-x ipor padrão, éC-c .
babá

1

Estou usando as duas funções a seguir com diferentes formatos de carimbo de data e hora. O número de dígitos a serem usados ​​no ano, ou seja, 2015 ou 15 e horas, minutos, segundos etc. também pode ser especificado.

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

0

Recebo um carimbo de data / hora usando {{{date}}}

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.