2005年02月06日(日) [過去の今日]
#7 Emacsの時間挿入
RFC2822形式。
(defun insert-time () (interactive) (insert (concat (substring (current-time-string) 0 20) (nth 1 (current-time-zone)) (format-time-string " %Y")))) (define-key global-map [(super t)] 'insert-time)
W3C-DTF。
(defun insert-w3cdtf () (interactive) (insert (shell-command-to-string "w3cdtf"))) (define-key global-map [(super w)] 'insert-w3cdtf)
w3cdtfというコマンドを作っておく。
#!/usr/bin/perl use DateTime::TimeZone; $tz_name = `cat /etc/timezone`; chomp $tz_name; ($sec, $min, $hour, $day, $mon, $year) = localtime(time()); $tz = DateTime::TimeZone->new(name => $tz_name); $dt = DateTime->now(); printf("%04d-%02d-%02dT%02d:%02d:%02d+%02d:00\n", $year + 1900, $mon + 1, $day, $hour, $min, $sec, $tz->offset_for_datetime($dt) / 60 / 60);
とりあえずこんなとこ。
(@893)
@ 考えたら:
これじゃイギリス以東に住んでる人にしか意味をなさんな……。まあ、南北アメリカ大陸が沈んでくれれば解決なんだが。
(@899)