IBCaelendar의 기준이 될 현지시간대(TimeZone)를 설정합니다.
IE11에서는"TimeZone"
옵션을 기본값(’"local"’)이 아닌 값으로 설정 시 반복 일정(Recurring Event) 기능을 사용할 수 없습니다.
현지시간대(TimeZone)를 변경하면 다음과 같은 항목들이 영향을 받습니다.
일정(Event)의 날짜/시간 텍스트 표시 형식
일정(Event)들의 위치
-> 일정(Event)의 시작 요일/시간 축javascript Date 객체를 사용하는 IBCalendar의 모든 API에서 Date 객체를 파싱하는 방법
-> EventApi 객체의 start/end, View 객체의activeStart
/activeEnd
, 콜백(callback) 함수에 의해 노출된Date 객체 타입
의 parameter들일정(Event) 데이터 요청 시 url이나 function의 반환값으로 전달받은 일정(Event) 정보
일정(Event) 데이터를 받았을 때 날짜/시간 정보들을 파싱하는 방법
-> "UTC 정보가 없는 ISO8601 문자열"인표준시간대 정보가 없는 문자열
들만 해당됩니다.
-> "2017-04-20T11:32:00+09:00" → "UTC 정보가 있는 ISO8601 문자열"은 현지시간대(TimeZone)를 변경하여도 영향을 받지 않습니다.
-> "2017-04-20T11:32:00" → "UTC 정보가 없는 ISO8601 문자열"은 현지시간대(TimeZone)를 변경하면 날짜/시간 정보들의 파싱 결과가 달라집니다.
string
Value | Description |
---|---|
"local" |
PC에 설정된 현지 시간대 |
"UTC" |
표준시간대 |
시간대 |
명명된 시간대(Named Time Zones) |
"local"
-> OS에 설정된 현지시간을 현지시간대(TimeZone)로 설정합니다.
-> 일정(Event)들의 날짜/시간 정보가 "UTC 정보가 포함된 ISO8601 문자열"이거나 "millisecond 시간 문자열"인 경우 날짜/시간 정보가 사용자의현지시간대로 변경하여 표시
합니다.
-> 일정(Event)들의 날짜/시간 정보가 "UTC 정보가 없는 ISO8601 문자열"인 경우 날짜/시간 정보를현지시간으로 판단하여 그대로 표시
합니다.
-> IBCaelendar의 API를 통해 사용하는 Date 객체의getMonth()
,getHours()
,toString()
과 같은 API는현지시간대로 변경된 값을 반환
합니다.
calendarData = [
{ title:"timeZoneCalendar-event1", start: "2020-06-10T12:30:00Z", end: "2020-06-10T13:30:00Z", allDay: false }, //UTC 정보가 표준시간대(00:00)로 설정되었으므로 사용자의 현지시간대(+09:00)가 적용되어 21:30으로 표시합니다.
{ title:"timeZoneCalendar-event2", start: "2020-06-10T12:30:00+09:00", end: "2020-06-10T13:30:00+09:00", allDay: false }, //UTC 정보가 포함되어 있으므로 날짜와 시간이 그대로 표시합니다.
{ title:"timeZoneCalendar-event3", start: "2020-06-10T12:30:00", end: "2020-06-10T13:30:00", allDay: false } //UTC 정보가 포함되어 있지 않으므로 현지시간으로 판단하여 그대로 표시합니다.
];
options = {
timeZone: "local",
eventSources: [
{
id: "devCalendar",
events: calendarData
}
]
};
"UTC"
-> 현지시간대(TimeZone)는 사용자의 브라우저마다 다를 수 있지만, 표준시간대(00:00)는 모든 브라우저에서 동일하며 서머타임(summer time)제도도 적용되지 않습니다. 표준시간대(00:00)는 다른 현지시간대(TimeZone)들을 상대적으로 정의하기 위한 기준이 됩니다.
-> 일정(Event)들의 날짜/시간 정보가 "UTC 정보가 포함된 ISO8601 문자열"이거나 "millisecond 시간 문자열"인 경우 날짜/시간 정보가표준시간대(00:00)로 변경하여 표시
합니다.
-> 일정(Event)들의 날짜/시간 정보가 "UTC 정보가 없는 ISO8601 문자열"인 경우 날짜/시간 정보를표준시간대(00:00)로 판단하여 그대로 표시
합니다.
-> IBCaelendar의 API를 통해 사용하는 Date 객체의getUTCMonth()
,getUTCHours()
,toUTCString()
과 같은 API는표준시간대(00:00)로 변경된 값을 반환
합니다.
->"timeZone"
옵션을"UTC"
로 설정하면 사용자의 현지시간대(TimeZone)와 상관없이 모든 일정(Event)들이 브라우저에서 일관성있게 표시됩니다. 하지만 표준시간대(00:00)를 활용하여 다른 현지시간대처럼 보여지게 하려면"timeZone"
옵션을"UTC"
로 설정하는 대신"명명된 시간대(Named Time Zones)"
로 설정하는 것이 더 좋습니다.
calendarData = [
{ title:"timeZoneCalendar-event1", start: "2020-06-10T12:30:00Z", end: "2020-06-10T13:30:00Z", allDay: false }, //UTC 정보가 표준시간대(00:00)로 설정되었으므로 사용자의 현지시간대(+09:00)가 적용되어 21:30으로 표시합니다.
{ title:"timeZoneCalendar-event2", start: "2020-06-10T12:30:00+09:00", end: "2020-06-10T13:30:00+09:00", allDay: false }, //UTC 정보가 포함되어 있으므로 날짜와 시간이 그대로 표시합니다.
{ title:"timeZoneCalendar-event3", start: "2020-06-10T12:30:00", end: "2020-06-10T13:30:00", allDay: false } //UTC 정보가 포함되어 있지 않으므로 현지시간으로 판단하여 그대로 표시합니다.
];
options = {
timeZone: "UTC",
eventSources: [
{
id: "devCalendar",
events: calendarData
}
]
};
"명명된 시간대(Named Time Zones)"
->명명된 시간대(Named Time Zones)
는"America/New_York"
or"Asia/Seoul"
같은 문자열로 지정된 특정 지역입니다. UTC 표준시간대(00:00)와 같이 모호성이 없기 때문에 모든 브라우저에서 일관되게 일정(Event)들을 표시할 수 있습니다.
-> 사용할 수 있는명명된 시간대(Named Time Zones)
목록은 (이곳)에서 확인할 수 있습니다.
calendarData = [
{ title:"timeZoneCalendar-event1", start: "2020-06-10T12:30:00Z", end: "2020-06-10T13:30:00Z", allDay: false }, //UTC 정보가 표준시간대(00:00)로 설정되었으므로 사용자의 현지시간대(+09:00)가 적용되어 21:30으로 표시합니다.
{ title:"timeZoneCalendar-event2", start: "2020-06-10T12:30:00+09:00", end: "2020-06-10T13:30:00+09:00", allDay: false }, //UTC 정보가 포함되어 있으므로 날짜와 시간이 그대로 표시합니다.
{ title:"timeZoneCalendar-event3", start: "2020-06-10T12:30:00", end: "2020-06-10T13:30:00", allDay: false } //UTC 정보가 포함되어 있지 않으므로 현지시간으로 판단하여 그대로 표시합니다.
];
options = {
timeZone: "Europe/Moscow",
eventSources: [
{
id: "devCalendar",
events: calendarData
}
]
};
product | version | desc |
---|---|---|
core | 1.5.0.0 | 기능 추가 |