6
Emacs Lispを使用して、日付と時刻の加算や差分などの数学演算を実行したいと考えています。Emacs Lispを使ってEmacsに日付を追加するにはどうしたらいいですか?
Emacs Lispを使用して、日付と時刻の加算や差分などの数学演算を実行したいと考えています。Emacs Lispを使ってEmacsに日付を追加するにはどうしたらいいですか?
短い答えは:elisp infoマニュアルのSystem Interface sectionを読んでください。具体的には、時間区間:
長い答え:
Emacsは、文字列、浮動小数点数として時間値で作業することができます、または2つまたは3つの整数のタプルです。例えば。 *scratch*
バッファ内のいくつかの関数を呼び出す:
(current-time)
(19689 59702 984160)
(current-time-string)
"Sun Nov 21 20:54:22 2010"
(current-time-zone)
(-25200 "MST")
(float-time)
1290398079.965001
てみましょういくつかの変換:
(decode-time (current-time))
(33 7 21 21 11 2010 0 nil -25200)
(decode-time) ; (current-time) by default
(51 7 21 21 11 2010 0 nil -25200)
(let ((seconds 36)
(minutes 10)
(hour 21)
(day 21)
(month 11)
(year 2010))
(encode-time seconds minutes hour day month year))
(19689 60732)
(format-time-string "%A %e %B" (current-time))
"Sunday 21 November"
(seconds-to-time 23)
(0 23 0)
(time-to-seconds (current-time))
1290399309.598342
(time-to-days (current-time))
734097
最後に、あなたの質問に答えるために:私はそれを読んでいた
(time-add (current-time) (seconds-to-time 23))
(19689 60954 497526)
(time-subtract (current-time) (seconds-to-time 45))
(19689 61001 736330)
を私は気付きませんでした時間計算セクション、ありがとう! –