次の関数定義があります。
(defun nth (n)
(format
(concat
"%d"
(if (memq n '(11 12 13)) "th"
(let ((last-digit (% n 10)))
(case last-digit
(1 "st")
(2 "nd")
(3 "rd")
(otherwise "th"))))) n))
で使用できるようにしたいと思いますformat-time-string
。普通なら関数のソースを見ますが、これはCソースコードで定義されています。(これにより、何かをフックすることはできなくなると思いますが、修正する必要があります。)
適切な引数%o
に適用される別の書式指定子 (たとえば、) を追加するにはどうすればよいですか?nth
希望の使用法:
(format-time-string "%A, %B %o, %T (%z)" (seconds-to-time 1250553600))
=> "Monday, August 17th, 20:00:00 (-0400)"