GlideSchedule - 범위 지정됨

범위가 지정된 GlideSchedule API는 일정에 새 일정 세그먼트 추가, 날짜/시간이 일정 내에 있는지 확인 또는 일정 시간대 설정과 같은 GlideSchedule 객체에 대한 작업을 수행하는 메서드를 제공합니다.

GlideSchedule - GlideSchedule()

빈 GlideSchedule 객체를 인스턴스화합니다.

표 1. 매개변수
이름 유형 설명
없음

GlideSchedule - GlideSchedule(문자열 sysID, 문자열 시간대)

GlideSchedule 객체를 인스턴스화하고 일정 정보를 로드합니다. 시간대를 지정하지 않으면 현재 세션 시간대가 사용됩니다.

표 2. 매개변수
이름 유형 설명
sysID 문자열 일정의 시스템 ID입니다.
시간대 문자열 옵션입니다. 사용할 시간대입니다.

기본값: 현재 세션 시간대입니다.

시간대는 다음 형식으로 제공될 수 있습니다.
  • 국가/도시. 예를 들면 America/Los_Angeles와 같습니다.
  • 국가/시간대. 예: 미국/태평양.
  • 시간대 약어입니다. 예: PST.
유효한 시간대의 전체 목록은 사용자 [sys_user] 테이블의 시간대 필드를 참조하십시오. 시간대에 대한 자세한 내용은 을 참조하십시오 Time zones.
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');

GlideSchedule - add(GlideDateTime, startDate, GlideDuration 오프셋)

현재 일정에 새 일정 세그먼트를 추가합니다.

표 3. 매개변수
이름 유형 설명
startDate GlideDateTime 새 일정 세그먼트의 시작 날짜입니다.
오프셋 GlideDuration (글라이드 기간) 새 일정 세그먼트의 시간 오프셋입니다.
표 4. 반환
유형 설명
GlideDateTime 새 일정 세그먼트로 업데이트된 일정입니다.
var startDate = new GlideDateTime('2014-01-02');
var days = 2;
var dur = new GlideDuration(60 * 60 * 24 * 1000 * days);
var schedule = new GlideSchedule();
var end = schedule.add(startDate, dur);
gs.info(end);
출력:
2014-01-04 00:00:00

GlideSchedule - duration(GlideDateTime startDate, GlideDateTime endDate)

일정의 시간대를 사용하거나 세션의 시간대를 사용하여 두 날짜 시간 값 사이에서 일정의 경과 시간을 결정합니다.

표 5. 매개변수
이름 유형 설명
startDate GlideDateTime 시작 날짜/시간입니다.
endDate GlideDateTime 종료 날짜/시간입니다.
표 6. 반환
유형 설명
GlideDuration (글라이드 기간) 시작 날짜/시간과 종료 날짜/시간의 차이입니다.
var startDate = new GlideDateTime('2014-10-16 02:00:00');
var endDate = new GlideDateTime('2014-10-18 04:00:00');
var schedule = new GlideSchedule();
 
schedule.load('090eecae0a0a0b260077e1dfa71da828'); // loads "8-5 weekdays excluding holidays" schedule
var duration = schedule.duration(startDate, endDate);
gs.info(duration.getDurationValue()); // gets the elapsed time in schedule

GlideSchedule - getName()

일정 이름을 검색합니다.

표 7. 매개변수
이름 유형 설명
없음
표 8. 반환
유형 설명
문자열 현재 일정의 이름입니다.
sys_id ='04e664654a36232701a2247dcd8fc4cf'; // sys_id for "Application" schedule record
var sched = new GlideSchedule(sys_id);
gs.info(sched.getName());

GlideSchedule - isInSchedule(GlideDateTime 시간)

지정한 날짜 및 시간이 현재 일정 내에 있는지 여부를 결정합니다.

표 9. 매개변수
이름 유형 설명
시간 GlideDateTime 확인할 날짜 및 시간 값입니다.
표 10. 반환
유형 설명
부울 지정된 날짜와 시간이 일정 내에 있는지 여부를 나타내는 플래그입니다.
유효한 값은 다음과 같습니다.
  • true: 날짜와 시간이 일정 내에 있습니다.
  • false: 날짜 및 시간이 일정을 벗어납니다.
var glide = new GlideRecord('cmn_schedule');
glide.addQuery('type', 'blackout');
glide.query();
if (glide.next()) {
   var sched = new GlideSchedule(glide.sys_id);
   var date = new GlideDateTime();
   date.setDisplayValue("2007-09-18 12:00:00");
   if (sched.isInSchedule(date)) 
      gs.info("Is in the schedule");
   else
      gs.info("Is NOT in the schedule");
}

GlideSchedule - isValid()

현재 일정이 유효한지 여부를 결정합니다. 일정은 일정 범위가 하나 이상 있는 경우 유효합니다.

표 11. 반환
유형 설명
부울 일정이 유효하면 True입니다.
var glide = new GlideRecord('cmn_schedule');
glide.addQuery('type', 'blackout');
glide.query();
if (glide.next()) {
   var sched = new GlideSchedule(glide.sys_id);
   var date = new GlideDateTime();
   date.setDisplayValue("2007-09-18 12:00:00");
   if (sched.isValid()) 
      gs.info("Is valid");
 
   else
      gs.info("Is not valid");
}

GlideSchedule - load(문자열 sysID, 문자열 시간대, 문자열 excludeSpanID)

일정 정보와 함께 일정을 로드합니다.

표 12. 매개변수
이름 유형 설명
sysID 문자열 일정의 시스템 ID입니다.
시간대 문자열 (선택 사항) 시간대입니다. 시간대가 지정되지 않았거나 nil인 경우 현재 세션 시간대가 일정에 사용됩니다.
excludeSpanID 문자열 제외할 범위입니다.
표 13. 반환
유형 설명
void
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');

GlideSchedule - setTimeZone(문자열 시간대)

현재 일정의 시간대를 설정합니다.

표 14. 매개변수
이름 유형 설명
시간대 문자열 사용할 시간대입니다.
시간대는 다음 형식으로 제공될 수 있습니다.
  • 국가/도시. 예를 들면 America/Los_Angeles와 같습니다.
  • 국가/시간대. 예: 미국/태평양.
  • 시간대 약어입니다. 예: PST.
유효한 시간대의 전체 목록은 사용자 [sys_user] 테이블의 시간대 필드를 참조하십시오. 시간대에 대한 자세한 내용은 을 참조하십시오 Time zones.
표 15. 반환
유형 설명
void

이 예에서는 일정의 시간대를 미국/태평양으로 설정합니다.

var schedule = new GlideSchedule();
schedule.setTimeZone('US/Pacific');

GlideSchedule - whenNext(GlideDateTime 시간, 문자열 시간대)

다음 일정 항목의 시작 시간까지 걸리는 시간(밀리초)을 결정합니다.

이 함수는 GlideSchedule 객체(cmn_schedule 테이블)가 현재 일정 창에 없을 때 호출됩니다. whenNext() 호출은 GlideSchedule 객체가 일정 내에 있을 때까지 지속 시간(ms)을 반환합니다. 이 함수는 GlideSchedule 객체가 일정 내에 있을 때 호출되는 경우 의미 있는 값을 반환하지 않습니다.

표 16. 매개변수
이름 유형 설명
시간 GlideDateTime 평가 대상 시간
시간대 문자열 시간대
표 17. 반환
유형 설명
번호 다음 일정 항목의 시작 시간까지 경과한 시간(밀리초)입니다. 반환하지 않는 경우 -1을 반환합니다.
var startDate = new GlideDateTime('2014-10-25 08:00:00');
var glideSchedule = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae', 'UTC');
gs.info(glideSchedule.whenNext(startDate));

출력:

172800000
testScript(); 
function testScript() { 
var now = new GlideDateTime(); //current date and time
var sched = new GlideSchedule("<sys_id>"); // Use a cmn_schedule sys_id 
if (sched.isInSchedule(now)){ 
gs.info('We are in an active schedule window so whenNext() is not helpful'); 
} else{  
gs.info('Not currently in schedule so call whenNext()'); 
var msUntilNext = sched.whenNext(new GlideDateTime(), 'US/Pacific'); 
gs.info('Next schedule starts in '+msUntilNext+' milliseconds'); 
} 
}
\\ Output [schedule inactive)]:
\\ *** Script: Not currently in schedule so call whenNext() 
\\ *** Script: Next schedule starts in -1 milliseconds

출력:

[Scheduled for future] *** Script: Not currently in schedule *** Script: Next schedule starts in 332894000 milliseconds