Мои сообщения электронной почты в Wanderlust иметь заголовок, который выглядит следующим образом:Как конвертировать (день месяц год) до (месяц год день)
Date: Wed, 23 Oct 2013 12:18:15 -0700
Я хотел бы изменить начало моей print-to-pdf
функции так что он ищет текущий буфер для первого свидания он находит (обычно в первой строке буфера) и преобразует его в предлагаемом pdf-file-name
, который выглядит следующим образом:
10_23_2013.pdf
начало моей print-to-pdf
функции выглядит следующим образом:
(defun print-to-pdf (pdf-file-name)
"Print the current buffer to the given file."
(interactive (list
(ns-read-file-name "Write PDF file: " "/Users/HOME/.0.data/" nil ".pdf")))
(cond (
(not (equal pdf-file-name nil))
***
Может кто-нибудь подумать о способе поиска даты и превратить ее в предложенный pdf-file-name
?
EDIT: Вот некоторые из даты строковых функций, которые я нашел по оглавлению код Wanderlust:
(defun wl-make-date-string()
(let ((system-time-locale "C"))
(format-time-string "%a, %d %b %Y %T %z")))
(defsubst wl-get-date-iso8601 (date)
(or (get-text-property 0 'wl-date date)
(let* ((d1 (timezone-fix-time date nil nil))
(time (format "%04d%02d%02dT%02d%02d%02d"
(aref d1 0) (aref d1 1) (aref d1 2)
(aref d1 3) (aref d1 4) (aref d1 5))))
(put-text-property 0 1 'wl-date time date)
time)))
(defun wl-make-date-string()
(let ((s (current-time-string)))
(string-match "\\`\\([A-Z][a-z][a-z]\\) +[A-Z][a-z][a-z] +[0-9][0-9]? *[0-9][0-9]?:[0-9][0-9]:[0-9][0-9] *[0-9]?[0-9]?[0-9][0-9]"
s)
(concat (wl-match-string 1 s) ", "
(timezone-make-date-arpa-standard s (current-time-zone)))))
(defun wl-date-iso8601 (date)
"Convert the DATE to YYMMDDTHHMMSS."
(condition-case()
(wl-get-date-iso8601 date)
(error "")))
Таким образом, чтобы вопросы Короче говоря, вы хотите '23 октября 2013' =>' 10_23_2013'? –
Если возможно, я также могу использовать некоторую помощь (пожалуйста) с помощью 're-search-forward', чтобы извлечь дату« 23 Окт 2013 »(которая может быть любой из 365 возможностей), а затем конвертировать ее в' 10_23_2013'. – lawlist
Если входная строка имеет очень фиксированный формат, например 'Date: Wed, 23 Oct 2013 12:18:15 -0700', то это возможно. В противном случае вам понадобится какой-то якорь для определения даты. Как и в режиме org-mode. Я могу написать функцию, которая отображает 'Date: Wed, 23 Oct 2013 12:18:15 -0700' =>' 10_23_2013'. Достаточно ли этого? –