Emacs ? elisp
Выдумал немного elisp-кода для определения даты "прошлого четверга".
Код таков:
(format-time-string
"%c"
(apply 'encode-time
(let ((d ; that's day
(calendar-gregorian-from-absolute
(calendar-dayname-on-or-before
4 ; last Thursday
(calendar-absolute-from-gregorian (calendar-current-date))))))
(list 0 0 0 (cadr d) (car d) (caddr d) nil nil nil))))
Сразу оговорюсь, что мне этот код был надо не просто так, а для
личного использования. Поэтому использован format-time-string :)
Строку
#3 я скопировал из time-date.el, еще, как видите, использованы
функции calendar.el
Собственно вопрос к знатокам: а проще можно? Как-то не очень нравится
получившийся вариант, слишком много конвертирования даты да и
громоздко. Манипуляция с со списком (последняя строка)
некрасивая. Может где есть возможность улучшить?