datetime - seleccionar - mostrar fecha y hora actual en html5
¿Cómo puedo insertar la fecha y la hora actual en un archivo usando Emacs? (10)
Aquí está mi opinión sobre esto.
(defun modi/insert-time-stamp (option)
"Insert date, time, user name - DWIM.
If the point is NOT in a comment/string, the time stamp is inserted prefixed
with `comment-start'' characters.
If the point is IN a comment/string, the time stamp is inserted without the
`comment-start'' characters. If the time stamp is not being inserted immediately
after the `comment-start'' characters (followed by optional space),
the time stamp is inserted with “--” prefix.
If the buffer is in a major mode where `comment-start'' var is nil, no prefix is
added regardless.
Additional control:
C-u -> Only `comment-start''/`--'' prefixes are NOT inserted
C-u C-u -> Only user name is NOT inserted
C-u C-u C-u -> Both prefix and user name are not inserted."
(interactive "P")
(let ((current-date-time-format "%a %b %d %H:%M:%S %Z %Y"))
;; Insert a space if there is no space to the left of the current point
;; and it''s not at the beginning of a line
(when (and (not (looking-back "^ *"))
(not (looking-back " ")))
(insert " "))
;; Insert prefix only if `comment-start'' is defined for the major mode
(when (stringp comment-start)
(if (or (nth 3 (syntax-ppss)) ; string
(nth 4 (syntax-ppss))) ; comment
;; If the point is already in a comment/string
(progn
;; If the point is not immediately after `comment-start'' chars
;; (followed by optional space)
(when (and (not (or (equal option ''(4)) ; C-u or C-u C-u C-u
(equal option ''(64))))
(not (looking-back (concat comment-start " *")))
(not (looking-back "^ *")))
(insert "--")))
;; If the point is NOT in a comment
(progn
(when (not (or (equal option ''(4)) ; C-u or C-u C-u C-u
(equal option ''(64))))
(insert comment-start)))))
;; Insert a space if there is no space to the left of the current point
;; and it''s not at the beginning of a line
(when (and (not (looking-back "^ *"))
(not (looking-back " ")))
(insert " "))
(insert (format-time-string current-date-time-format (current-time)))
(when (not (equal option ''(16))) ; C-u C-u
(insert (concat " - " (getenv "USER"))))
;; Insert a space after the time stamp if not at the end of the line
(when (not (looking-at " *$"))
(insert " "))))
Prefiero unir esto a Cc d
.
¿Qué comandos en Emacs puedo usar para insertar en el búfer de texto de un archivo la fecha y hora actual?
(Por ejemplo, el equivalente en el Bloc de notas simplemente presiona F5, que es la única característica útil para el Bloc de notas).
Aquí hay un paquete que escribí hace un tiempo que hace lo que estás pidiendo.
http://github.com/rmm5t/insert-time.el/tree/master/insert-time.el
(require ''insert-time)
(define-key global-map [(control c)(d)] ''insert-date-time)
(define-key global-map [(control c)(control v)(d)] ''insert-personal-time-stamp)
Gracias, CMS! Mi variación, por lo que vale, me hace feliz:
(defvar bjk-timestamp-format "%Y-%m-%d %H:%M"
"Format of date to insert with `bjk-timestamp'' function
%Y-%m-%d %H:%M will produce something of the form YYYY-MM-DD HH:MM
Do C-h f on `format-time-string'' for more info")
(defun bjk-timestamp ()
"Insert a timestamp at the current point.
Note no attempt to go to beginning of line and no added carriage return.
Uses `bjk-timestamp-format'' for formatting the date/time."
(interactive)
(insert (format-time-string bjk-timestamp-format (current-time)))
)
Puse esto en un archivo llamado por mi .emacs usando:
(load "c:/bjk/elisp/bjk-timestamp.el")
lo cual hace que sea más fácil modificarlo sin arriesgarme a romper algo más en mis archivos .emacs, y me permitió un punto de entrada fácil para tal vez algún día aprender realmente de qué se trata esta programación de Emacs Lisp.
PS Critiques con respecto a mi técnica n00b muy bienvenida.
He usado estos breves fragmentos:
(defun now ()
"Insert string for the current time formatted like ''2:34 PM''."
(interactive) ; permit invocation in minibuffer
(insert (format-time-string "%D %-I:%M %p")))
(defun today ()
"Insert string for today''s date nicely formatted in American style,
e.g. Sunday, September 17, 2000."
(interactive) ; permit invocation in minibuffer
(insert (format-time-string "%A, %B %e, %Y")))
Ellos originalmente vinieron de journal.el
M-1 M-! fecha
esto hace que el comando de shell que ejecuta se inserte en el búfer que está editando actualmente en lugar de un nuevo búfer.
Para la fecha de inserción: Mx org-time-stamp Para fecha de inserción: Cu Mx org-time-stamp
Puede ser que pueda vincular una clave global para este comando.
El método de org-mode es muy fácil de usar, puede seleccionar cualquier fecha del calendario.
Para una respuesta similar a las ya publicadas, junto con explicaciones y más extensiones, como abrir automáticamente un archivo e insertar la fecha actual al final (como un diario), echa un vistazo a la discusión de Paul Ford sobre sus utilidades de emacs .
Ponga en su archivo .emacs:
;; ====================
;; insert date and time
(defvar current-date-time-format "%a %b %d %H:%M:%S %Z %Y"
"Format of date to insert with `insert-current-date-time'' func
See help of `format-time-string'' for possible replacements")
(defvar current-time-format "%a %H:%M:%S"
"Format of date to insert with `insert-current-time'' func.
Note the weekly scope of the command''s precision.")
(defun insert-current-date-time ()
"insert the current date and time into current buffer.
Uses `current-date-time-format'' for the formatting the date/time."
(interactive)
(insert "==========/n")
; (insert (let () (comment-start)))
(insert (format-time-string current-date-time-format (current-time)))
(insert "/n")
)
(defun insert-current-time ()
"insert the current time (1-week scope) into the current buffer."
(interactive)
(insert (format-time-string current-time-format (current-time)))
(insert "/n")
)
(global-set-key "/C-c/C-d" ''insert-current-date-time)
(global-set-key "/C-c/C-t" ''insert-current-time)
Puede instalar yasnippet , que le permitirá escribir "hora" y la tecla de tabulación, y además hace mucho más. Simplemente llama a current-time-string
detrás de las escenas, por lo que puede controlar el formato con format-time-string
.
C-u M-! date