« Generate files in iCalendar format in Excel 1 | トップページ | Generate files in iCalendar format in Excel 2 »

2018年12月17日 (月)

iCalendar形式のファイルをExcelで生成する2

以前の記事「iCalendar形式のファイルをExcelで生成する1 」での
日時の指定の方法を調べていきます。

日時は基本的には
「日付」「T」「時間」
の形式で指定します。

細かくは以下の3種類の指定方法があります。
①日付とローカルタイム
②日付とUTC時間
③日付とタイムゾーンを指定したローカルタイム

順番に見ていきます。


①日付とローカルタイム

例)20181127T010000

これは2018年11月27日01:00:00を指定します。
この指定方法では
スケジュールアプリがどのタイムゾーンでも
上記の時間になります。

ニューヨークの時間でも東京の時間でも
01:00:00になるということは、
同じ日時のスケジュールを取り込んでも
タイムゾーンが違えば別の時間になるということです。

ですので
タイムゾーンが異なる地域とのやりとりには向きません。


②日付とUTC時間
上述した①+「Z]の形式で表します。

例)20181127T010000Z

これは、2018年11月27日01:00:00 UTCを指定します。

UTCは協定世界時と言われるもので 世界の時間の基準です。

この指定方法では
スケジュールアプリがどのタイムゾーンに設定されていても
世界共通で同じ時刻を指定します。

タイムゾーンが東京の場合
UTC+0900(=標準からの時差9時間)なので
2018年11月27日10:00:00に変換されます。
タイムゾーンがニューヨークの場合
UTC-0500なので
2018年11月26日2:00:00に変換されます。


③日付とタイムゾーンを指定したローカルタイム
タイムゾーンを指定するのに
TZIDプロパティを使用します。

例)TZID=Asia/Tokyo:20181127T100000

「TZID=Asia/Tokyo:」がタイムゾーンを指定部分です。
この例では
「Asia/Tokyo」と言う名前のタイムゾーンを指定しています。
「20181127T100000」の部分は①と同様に日付と時間です。

「Asia/Tokyo」がどのようなタイムゾーンかは
VTIMEZONEコンポーネントで指定します。

下記をiCal形式のデータに記述します。

BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE

別のタイムゾーンを指定したいときは、
上の例の「Asia/Tokyo」を別のタイムゾーン名にして
「+0900」部分をUTCからの適切な時差に修正してください。

|

« Generate files in iCalendar format in Excel 1 | トップページ | Generate files in iCalendar format in Excel 2 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: iCalendar形式のファイルをExcelで生成する2:

« Generate files in iCalendar format in Excel 1 | トップページ | Generate files in iCalendar format in Excel 2 »