2011/06/05

twitter apiの日付け

twitter apiの日付け形式って何なの。
"Sat Nov 21 02:20:25 +0000 2009"
Gaucheのrfc.822モジュールにrfc822-date->date手続きがあったので、それに合うようにしてしのいだ。

(use srfi-19) ; date
(use rfc.822) ; rfc822-date->date
(use util.list) ; interspers

(define (twitter-date->date str)
  (define (list-join delim ls)
    (apply string-append (intersperse delim ls)))
  (let* ((ls (string-split str " "))
         (date-string (list-join " " (map (pa$ list-ref ls)
                                          '(0 2 1 5 3 4)))))
    (rfc822-date->date date-string)))
(date->string
 (twitter-date->date "Sat Nov 21 02:20:25 +0000 2009")
 "~Y/~m/~d ~H:~M:~S")
;; -> "2009/11/21 02:20:25"

追記

コメント欄で教えてもらいました!

Scheme手習い

2 件のコメント:

  1. そんなときは string->date
    (string->date "Sat Nov 21 02:20:25 +0000 2009" "~a ~b ~d ~H:~M:~S ~z ~Y")

    返信削除
  2. うあああああぁぁぁorz
    ありがとうございます!

    返信削除