GlideSchedule - 범위 지정됨

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

GlideSchedule - GlideSchedule()

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

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

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

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

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

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

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

GlideSchedule - add(GlideDateTime startDate, GlideDuration offSet)

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

표 3. 매개변수
이름 유형 설명
startDate Glide날짜/시간 새 일정 세그먼트의 시작 날짜입니다.
오프셋 GlideDuration 새 일정 세그먼트의 시간 오프셋입니다.
표 4. 반환
유형 설명
Glide날짜/시간 일정이 새 일정 세그먼트로 업데이트됩니다.
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 - 기간(GlideDateTime startDate, GlideDateTime endDate)

일정의 시간대 또는 세션의 시간대(지정되지 않은 경우)를 사용하여 두 날짜 시간 값 사이의 일정에서 경과 시간을 결정합니다.

표 5. 매개변수
이름 유형 설명
startDate Glide날짜/시간 시작 날짜/시간입니다.
endDate Glide날짜/시간 종료 날짜/시간입니다.
표 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. 매개변수
이름 유형 설명
시간 Glide날짜/시간 확인할 날짜 및 시간 값입니다.
표 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. 반환
유형 설명
부울 일정이 유효하면 예입니다.
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(String sysID, String timeZone, String excludeSpanID)

일정 정보를 사용하여 일정을 로드합니다.

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

GlideSchedule - setTimeZone(문자열 시간대)

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

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

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

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

GlideSchedule - whenNext(GlideDateTime time, String timeZone)

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

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

표 16. 매개변수
이름 유형 설명
시간 Glide날짜/시간 평가할 시간
시간대 문자열 시간대
표 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