달력에 사용되는 iCalendar 형식 part1 정보
다른 사람과 예약을 공유하는 등 수단이 많지만 iCalendar 파일을 통해 읽는 것은 모든 사람의 환경에 상관없이 할 수 있는 좋은 방법이라고 생각합니다.
그런 iCalendar 파일을 살짝 조사해 봤기 때문에 간단하게 요약해 보겠습니다.
iCalendar 파일의 특징
운영체제에 따라 다소 다르지만 기본적으로 iCalendar 파일을 열면 표준 달력 프로그램에 예약을 등록할 수 있다.
다음은 문서 내용의 기술 방법을 설명한다.
간단한 일정
iCalendar 파일의 사용에 대한 내용은 RFC-245에서 요약합니다.
이 규격서에서 iCalendar 파일의 가장 간단한 예는 다음과 같다.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
딱 봐도 뭔지 알 수 없는'1997년 7월 14일~15일 베이스틸 데이 파티(파리 페스티벌)'라는 계획을 추가할 수 있는 문서다.를 클릭하고 실제 파일을 열면 달력에 다음 내용이 추가됩니다.
기본적으로 HTML과 같은 태그 형식입니다.
그럼 아까 iCalendar 파일에 대한 설명을 조금만 성형해 보세요.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
나는 움츠려 넣으려고 했다.실제로 들여쓰기를 사용하면 정확하게 읽을 수 없습니다.이것을 보면 BEGIN: 0 0, END: 0 의 기술 가운데 한 영역이 있음을 알 수 있다.
HTML과 마찬가지로 iCalendar도 시작과 끝으로 둘러싸야 한다.
가장 바깥쪽은 VCLALENDAR로 불리는 직업 바티다.
이것은 HTML의 <>와 같다.
바로 아래
3의 EVENT는 가입 예정일, 시간, 제목 등의 기초 부분으로 상세한 내용은 잠시 후에 설명한다.
1과 2는 파일 형식에 대한 총결산으로 HTML에서 말한 머리 정보이다.
요소는'전문명칭:값'으로 기술한다.
VERSION 및 PRODID 정보
필수 항목입니다.
VERSION 예.ics 형식의 버전을 나타낸다.RFC-2445는 2.0으로 기본적으로 이렇다.
PRODID는 파일 제작자에 대한 정보로, 어쨌든 누가 만든 이름을 기재할 수 있는 부분이다.
예를 들어'-//hacksw/handcal/NONSGML v1.0/EN'은 특별히 규정된 형식이 없는 것 같다.
자주 쓰는 것은'////회사명/개인명(제품명)/국명'인 것 같다.누가 만들었는지 알면 돼, 좋아하는 거 써.
EVENT 정보
이것은 예정된 상세한 상황에 대한 총결산 부분이다.
자세한 내용은 VEVENT→END: VEVENT로 둘러싸인 환경에 기술되어 있습니다.
여러 예약을 읽으려면 비긴-VEVENT→END:VENT를 추가하면 됩니다.
예에서 다음과 같은 사진이 나왔다.
이외에도 자주 사용하는 것은 LOCATION, URL, DESCRIPTION 등 속성으로 장소, URL, 노트의 기술을 각각 추가할 수 있다.
기본적으로 어떤 문자열이든 상관없지만 DTSTART·DTEND의 날짜와 시간 표시는 좀 특수하다. 아래에 설명해 보자.
DTSTART 및 DTEND의 날짜 및 시간 태그 정보
날짜와 시간의 기재는 ISO-88601의 국제 표기 규정 형식을 채택하여 다음과 같은 특징을 가지고 있다.
즉 그 DTSTART에 적힌 1997714T170000Z는 "UTC에서 1997년 7월 14일 17시 00분 00초"라고 밝혔다.
UTC는 경도 0도의 시간으로, 일본(동경 135도)의 표준시(JST)가 9시간 앞선다.
아까 그림을 보면 맥의 달력에 등록했을 때도 9시간 차이의 일본 시간으로 수정된 것을 알 수 있다.
시간대 정보
그나저나 일본에서 9시간 차이의 날짜를 써야 하니 귀찮다.
글로벌화 계획이라면 차치하고 일본에 있는 사람들과 계획을 공유하는 게 기본이죠.
이 경우 날짜와 시간의 시간대를 다음과 같이 설정할 수 있다.
DTSTART;TZID=Asia/Tokyo:20180514T200000
속성에서 세미콜론(;)그런 다음 TZID=(지역 이름)을 추가합니다.이번에는'아시아/Tokyo'로,'재팬'등에서도 읽을 수 있다.마지막으로 UTC의 끝을 나타내는 "Z"를 삭제하면 TZID가 설정한 영역의 시간대 내에서 읽습니다.
끝맺다
이번 내용은 iCalendar 파일의 최소한의 기능일 뿐입니다.
달력 애플리케이션에 사용되는 기능으로는 중복과 예정된 시간에 대한 경보 기능 등 다양한 기능이 있다.
part2에서 경보 기능을 조사하고 정리했다.
장문의 글과 졸렬한 글이지만 여기까지 읽어주셔서 감사합니다
참고 자료
iCalendar - Wikipedia
RFC-2445
Reference
이 문제에 관하여(달력에 사용되는 iCalendar 형식 part1 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TomOse/items/31b5fb4782f06d19af79텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)