それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ical 形式について

ical 形式について

日付形式

  • ISO 8601
  • Data Elements and Interchange Formate
    • Information Interchange
    • Representation of Dates and Times
日付だけの場合
20101020       #2010年10月20日

日付と時刻

20101020T12:12 #2010-10-20(水)の12:12

日付形式がちょと特殊です

日付形式がHTTPヘッダ等と違うので、ちょっと落とし穴。iso8601形式と言うことですが。Time#iso8601, Time#xmlschema で出力して甚目でした。

時刻と日付の区切りにTを用いるようです。

puts "DTSTART:#{d.strftime('%Y%m%dT%H%M00')}" #=>DTSTART:20101106T170000

で出力しました。UTC形式にしたらタイムゾーン指定は不要ですね。strptime出来れば何でも良いじゃんというのは無しなんですかね。

出力サンプル

関西オープンソース2010のカレンダをicalにしてみました。
KOF2010:関西オープンソース2010 / 関西コミュニティ大決戦(ステージ企画)

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:KOF2010
X-WR-TIMEZONE:Asia/Tokyo
X-WR-CALDESC:関西オープンソース2010
(中略)
BEGIN:VEVENT
DTSTART:20101106T170000
DTEND:20101106T175000
DTSTAMP:20101020T133000
UID:
DESCRIPTION:これから広範囲に普及していくと予想される、ウェブアプリケーションプラットフォームの基盤としてのHTML5、このセミナーではその実際に迫ります。バズワードとして幅広い技術をまとめる形で語られれることもあるHTML5とは、実際にはどういうもので、そしてプラットフォームとしてどういうことができるのかを、HTML5-WEST.jpのイベントといえばこれ、ともいうべきデモやライブコーディングを通じてご紹介いたします。
CREATED:20101020T133000
LAST-MODIFIED:20101020T133000
LOCATION:南港ATC[9F-S1会場] 
SEQUENCE:0
SUMMARY:HTML5 〜 その可能性とインターネットアプリケーションの未来 - HTML5-WEST.jp
END:VEVENT
END:VCALENDAR