---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideSchedule - 범위 지정됨

# GlideSchedule - 범위 지정됨 {#ariaid-title1}

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

## GlideSchedule - GlideSchedule() {#ariaid-title2}

빈 GlideSchedule 객체를 인스턴스화합니다.
{#r_ScopedGlideScheduleGlideSchedule__table_ulv_hhr_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 1. 매개변수]

{#r_ScopedGlideScheduleGlideSchedule__table_ulv_hhr_2r}

## GlideSchedule - GlideSchedule(문자열 sysID, 문자열 timeZone) {#ariaid-title3}

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

| 이름 | 유형 | 설명 |
|-|-|-|
| sysID | 문자열 | 일정의 시스템 ID입니다. |
| 시간대 | 문자열 | 옵션입니다. 사용할 시간대입니다. 기본값: 현재 세션 시간대입니다. 시간대는 다음 형식으로 제공할 수 있습니다. * `국가/도시` 예: `아메리카/Los_Angeles`. * `국가/시간대` 예: `미국/태평양`. * `시간대 약어입니다`. 예: `PST` {#r_SGSCH-GlideSchedule_S_S__ul_up2_zln_lwb}유효한 시간대의 전체 목록은 사용자 \[sys_user\] 테이블의 시간대 필드를 참조하십시오. 시간대에 대한 자세한 내용은 다음 문서를 참조하십시오 [Time zones](https://www.servicenow.com/docs/access?context=r_TimeZones&version=australia&pubname=australia-platform-administration&ft:locale=en-US). |
[표 2. 매개변수]

{#r_SGSCH-GlideSchedule_S_S__table_emk_4cg_1r}  

    var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');

## GlideSchedule - add(GlideDateTime startDate, GlideDuration offSet) {#ariaid-title4}

현재 일정에 새 일정 세그먼트를 추가합니다.
{#r_SGSCH-Add_GDT_GD__table_kws_rdg_1r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| startDate | GlideDateTime | 새 일정 세그먼트의 시작 날짜입니다. |
| 오프셋 | GlideDuration | 새 일정 세그먼트의 시간 오프셋입니다. |
[표 3. 매개변수]

{#r_SGSCH-Add_GDT_GD__table_kws_rdg_1r} {#r_SGSCH-Add_GDT_GD__table_mws_rdg_1r__entry__2}

| 유형 | 설명 |
|-|-|
| GlideDateTime | 새 일정 세그먼트로 업데이트된 일정입니다. |
[표 4. 반환]

{#r_SGSCH-Add_GDT_GD__table_mws_rdg_1r}  

    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) {#ariaid-title5}

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

| 이름 | 유형 | 설명 |
|-|-|-|
| startDate | GlideDateTime | 시작 날짜/시간입니다. |
| endDate | GlideDateTime | 종료 날짜/시간입니다. |
[표 5. 매개변수]

{#r_SGSCH-Duration_GDT_GDT__table_dlk_j3g_1r} {#r_SGSCH-Duration_GDT_GDT__table_flk_j3g_1r__entry__2}

| 유형 | 설명 |
|-|-|
| GlideDuration | 시작 날짜/시간과 종료 날짜/시간의 차이입니다. |
[표 6. 반환]

{#r_SGSCH-Duration_GDT_GDT__table_flk_j3g_1r}  

    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() {#ariaid-title6}

일정 이름을 검색합니다.
{#r_ScopedGlideScheduleGetName__table_onn_hhr_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 7. 매개변수]

{#r_ScopedGlideScheduleGetName__table_onn_hhr_2r} {#r_ScopedGlideScheduleGetName__table_tcd_rwg_1r__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 현재 일정의 이름입니다. |
[표 8. 반환]

{#r_ScopedGlideScheduleGetName__table_tcd_rwg_1r}  

    sys_id ='04e664654a36232701a2247dcd8fc4cf'; // sys_id for "Application" schedule record
    var sched = new GlideSchedule(sys_id);
    gs.info(sched.getName());

## GlideSchedule - isInSchedule(GlideDateTime 시간) {#ariaid-title7}

지정된 날짜 및 시간이 현재 일정 내에 있는지 여부를 결정합니다.
{#r_SGSCH-IsInSchedule_GDT__table_lvd_jkg_1r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 시간 | GlideDateTime | 검사할 날짜 및 시간 값입니다. |
[표 9. 매개변수]

{#r_SGSCH-IsInSchedule_GDT__table_lvd_jkg_1r} {#r_SGSCH-IsInSchedule_GDT__table_nvd_jkg_1r__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 지정된 날짜 및 시간이 일정 내에 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 날짜 및 시간이 일정 내에 있습니다. * false: 날짜 및 시간이 일정을 벗어났습니다. {#r_SGSCH-IsInSchedule_GDT__ul_ujh_rxv_p4b} |
[표 10. 반환]

{#r_SGSCH-IsInSchedule_GDT__table_nvd_jkg_1r}  

    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() {#ariaid-title8}

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

| 유형 | 설명 |
|-|-|
| 부울 | 일정이 유효한 경우 예입니다. |
[표 11. 반환]

{#r_ScopedGlideScheduleIsValid__table_th1_plg_1r}  

    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) {#ariaid-title9}

일정 정보가 포함된 일정을 로드합니다.
{#r_SGSCH-Load_S_S_S__table_ztn_lxg_1r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| sysID | 문자열 | 일정의 시스템 ID입니다. |
| 시간대 | 문자열 | (선택 사항) 시간대입니다. 시간대가 지정되지 않았거나 nil인 경우 현재 세션 시간대가 일정에 사용됩니다. |
| excludeSpanID | 문자열 | 제외할 모든 범위입니다. |
[표 12. 매개변수]

{#r_SGSCH-Load_S_S_S__table_ztn_lxg_1r} {#r_SGSCH-Load_S_S_S__table_tcd_rwg_1r__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 13. 반환]

{#r_SGSCH-Load_S_S_S__table_tcd_rwg_1r}  

    var x = new GlideSchedule();
    x.load('08fcd0830a0a0b2600079f56b1adb9ae');

## GlideSchedule - setTimeZone(문자열 timeZone) {#ariaid-title10}

현재 일정의 시간대를 설정합니다.
{#r_SGSCH-SetTimeZone_S__table_sdh_hzg_1r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 시간대 | 문자열 | 사용할 시간대입니다. 시간대는 다음 형식으로 제공할 수 있습니다. * `국가/도시` 예: `아메리카/Los_Angeles`. * `국가/시간대` 예: `미국/태평양`. * `시간대 약어입니다`. 예: `PST` {#r_SGSCH-SetTimeZone_S__ul_up2_zln_lwb}유효한 시간대의 전체 목록은 사용자 \[sys_user\] 테이블의 시간대 필드를 참조하십시오. 시간대에 대한 자세한 내용은 다음 문서를 참조하십시오 [Time zones](https://www.servicenow.com/docs/access?context=r_TimeZones&version=australia&pubname=australia-platform-administration&ft:locale=en-US). |
[표 14. 매개변수]

{#r_SGSCH-SetTimeZone_S__table_sdh_hzg_1r} {#r_SGSCH-SetTimeZone_S__table_tcd_rwg_1r__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 15. 반환]

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

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

## GlideSchedule - whenNext(GlideDateTime time, time, string timeZone) {#ariaid-title11}

다음 일정 항목의 시작 시간까지 남은 시간(밀리초)을 결정합니다.
이 함수는 GlideSchedule 객체(cmn_schedule 테이블)가 현재 일정 창에 없을 때 호출됩니다. whenNext() 호출은 GlideSchedule 객체가 일정 내에 있을 때까지 지속 시간(ms)을 반환합니다. 이 함수는 GlideSchedule 객체가 일정 내에 있을 때 호출되는 경우 의미 있는 값을 반환하지 않습니다.
{#r_SGSCH-WhenNext_GDT_S__table_i1b_myg_1r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 시간 | GlideDateTime | 평가 시간 |
| 시간대 | 문자열 | 시간대 |
[표 16. 매개변수]

{#r_SGSCH-WhenNext_GDT_S__table_i1b_myg_1r} {#r_SGSCH-WhenNext_GDT_S__table_k1b_myg_1r__entry__2}

| 유형 | 설명 |
|-|-|
| 번호 | 다음 일정 항목의 시작 시간까지 남은 시간(밀리초)입니다. 없는 경우 -1을 반환합니다. |
[표 17. 반환]

{#r_SGSCH-WhenNext_GDT_S__table_k1b_myg_1r}  

    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


