DurationCalculator - 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기16분
  • DurationCalculator API는 기간 및 기한을 계산하는 메서드를 제공합니다.

    DurationCalculator - calcDuration(초 숫자)

    현재 시작 날짜와 시간을 기준으로 종료 날짜와 시간을 계산하고 지속 시간(초)으로 경과합니다.

    또한 이 메서드는 , , this.secondsthis.totalSeconds 속성을 업데이트된 값으로 설정합니다this.endDateTime. 이 메서드를 호출하기 전에 계산에 사용할 시작 시간과 함께 setStartDateTime() 을 호출해야 합니다.

    표 1. 매개변수
    이름 유형 설명
    번호 종료 날짜와 시간, 초 및 총 초 값을 계산하기 위해 시작 날짜 및 시간에 추가할 초 수입니다.
    표 2. 반환
    유형 설명
    부울 입력 값이 숫자가 아닌 경우 False입니다.
    var gdt = new GlideDateTime("2020-05-01 00:00:00");
    
    var dc = new DurationCalculator();
    dc.setStartDateTime(gdt);
    
    if(!dc.calcDuration(2*24*3600)){ // 2 days
      gs.log("*** Error calculating duration");
      return;
    }
    var secs = dc.getSeconds();
    var totalSecs = dc.getTotalSeconds();
    
    gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);

    출력

    ***SCHEDULE DURATION: SECS=172800 TOTALSECS=970534 ENDTIME = 2020-05-03 00:00:00

    DurationCalculator - calcRelativeDueDate(GlideDateTime start, Number days, String endTime)

    현재 일정과 시간대를 사용하여 기한이 지난 시작 시간부터 시작하여 일 수를 더하는 날짜를 계산합니다.

    상대 기간 정의에서 호출되며 calcRelativeDuration()에 의해 calculator.calcRelativeDueDate(calculator.startDateTime, days)로 시작됩니다. 작업 기한이 결정되면 메서드는 시간을 해당 날짜의 경과 endTime 시간으로 설정합니다. 일정에 남은 일수가 충분하지 않으면 일정의 마지막 날을 사용합니다.

    표 3. 매개변수
    이름 유형 설명
    시작 GlideDateTime 계산 시작 날짜가 포함된 GlideDateTime 객체입니다.
    번호 시작 날짜에 추가할 일 수입니다.
    endTime 문자열 계산된 기한에 작업 기한이 되는 날의 시간입니다.

    공백이면 기본값은 작업일의 끝입니다.

    형식: HH:mm:ss

    표 4. 반환
    유형 설명
    부울 완료 날짜가 일정 내에 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 완료 날짜가 일정 내에 있습니다.
    • false: 완료 날짜가 일정을 벗어났습니다. 이 메서드를 호출하기 전에 일정이 설정되지 않은 경우 정의되지 않습니다.
    var dc = new DurationCalculator();
    var startTime = new GlideDateTime();
    
    // Settings for calculations
    // Optional: Specify the schedule to use for the following calculations
    dc.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae'); 
    // Optional: Specify a different timezone to use
    dc.setTimeZone("Los Angeles");
    // Optional: Set a start date and time, otherwise the current time is assumed
    dc.setStartDateTime("2020-04-10 08:00:00")
    // Calculate end time, from number of seconds required in the schedule
    dc.calcDuration(3*24*3600); // 3 days
    dc.calcRelativeDueDate(startTime, "3", "07:00:00");

    DurationCalculator - calcRelativeDuration(relativeDurationID 문자열)

    지정된 상대 기간 스크립트를 사용하여 기간을 계산합니다.

    완료되면 this.endDateTimethis.seconds 속성이 계산 결과를 나타내도록 설정됩니다.

    표 5. 매개변수
    이름 유형 설명
    relativeDurationID 문자열 상대 기간 일정의 sys_id(표 cmn_relative_duration).
    표 6. 반환
    유형 설명
    부울 기간 스크립트의 결과입니다.
    var dc = new DurationCalculator();
    dc.calcRelativeDuration('08fcd0830a0a1b2600074f56b1ad7cb');

    DurationCalculator - calcScheduleDuration(startTime 문자열, endTime 문자열)

    이미 지정된 일정과 선택적으로 재정의되는 시간대 사이의 startTimeendTime 기간을 반환합니다.

    또한 이 메서드는 현재 일정 개체에서 , this.seconds, 및 를 this.totalSeconds 설정합니다this.endDateTime.

    표 7. 매개변수
    이름 유형 설명
    startTime 문자열 옵션입니다. 종료 시간의 표시 값입니다.

    기본값: 현재 날짜와 시간을 사용합니다( setStartDateTime()을 사용하여 설정). 이 매개 변수가 전달되지 않은 경우 자리 표시자를 전달해야 합니다(예: dur.calcScheduleDuration("", endDateTime);).

    endTime 문자열 옵션입니다. 시작 시간의 표시 값입니다.

    기본값: 현재 날짜와 시간을 사용합니다( setEndDateTime()을 사용하여 설정).

    표 8. 반환
    유형 설명
    번호 일정 기간. 이(가) 이전인 startTime경우 endTime 0을 반환합니다.

    단위: 초

    var dur = new DurationCalculator();
    
    // Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
    dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
    dur.calcScheduleDuration("2019-01-02 11:00:00", "2019-01-06 09:00:00");
    var secs = dur.getSeconds();
    var totalSecs = dur.getTotalSeconds();
    var endDateTime = dur.getEndDateTime() + "";
    
    gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);

    출력

    ***SCHEDULE DURATION: SECS=97200 TOTALSECS=338400 ENDTIME = 2019-01-06 09:00:00

    DurationCalculator - calcScheduleDuration(GlideDateTime, startTime, glideDateTime, endTime)

    이미 지정된 일정과 선택적으로 재정의되는 시간대 사이의 startTimeendTime 기간을 반환합니다.

    또한 이 메서드는 현재 일정 개체에서 , this.seconds, 및 를 this.totalSeconds 설정합니다this.endDateTime.

    표 9. 매개변수
    이름 유형 설명
    startTime GlideDateTime 옵션입니다. 사용 시작 시간이 포함된 GlideDateTime 객체입니다.

    기본값: 현재 날짜와 시간을 사용합니다( setStartDateTime()을 사용하여 설정). 이 매개 변수가 전달되지 않은 경우 자리 표시자를 전달해야 합니다(예: dur.calcScheduleDuration("", endDateTime);).

    endTime GlideDateTime 옵션입니다. 사용할 종료 시간을 포함하는 GlideDateTime 객체입니다.

    기본값: 현재 날짜와 시간을 사용합니다( setEndDateTime()을 사용하여 설정).

    표 10. 반환
    유형 설명
    번호 일정 기간. 이(가) 이전인 startTime경우 endTime 0을 반환합니다.

    단위: 초

    var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
    // Instantiate a new GlideDateTime object which has the end date as the current date and time
    var endDateTime = new GlideDateTime(); 
    var dur = new DurationCalculator();
    
    // Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
    dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae'); 
    dur.calcScheduleDuration(startDateTime, endDateTime);
    var secs = dur.getSeconds();
    var totalSecs = dur.getTotalSeconds();
    
    gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);

    출력

    ***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34

    DurationCalculator - DurationCalculator( )

    DurationCalculator 클래스의 생성자입니다.

    표 11. 매개변수
    이름 유형 설명
    없음
    var dc = new DurationCalculator();

    DurationCalculator - getEndDateTime( )

    기간의 endDateTime 종료 날짜와 시간을 나타내는 calcDuration/calcRelativeDuration에 의해 설정된 속성을 가져옵니다.

    표 12. 매개변수
    이름 유형 설명
    없음
    표 13. 반환
    유형 설명
    GlideDateTime 종료 날짜/시간입니다.
    var dc = new DurationCalculator();
    dc.calcDuration(52);
    gs.print(dc.getEndDateTime());

    2012-04-17 20:57:27

    DurationCalculator - getSeconds( )

    해당 기간 동안 수행될 총 작업 시간(초)을 나타내는 calcDuration/calcRelativeDuration에 의해 설정된 속성을 반환합니다this.seconds.

    시작 시간과 종료 시간 사이의 총 시간이 아니라 총 작업 시간이며 작업 시간의 백분율을 결정하는 데 사용할 수 있습니다.

    표 14. 매개변수
    이름 유형 설명
    없음
    표 15. 반환
    유형 설명
    번호 총 작업 시간(초)입니다.
    var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
    // Instantiate a new GlideDateTime object which has the end date as the current date and time
    var endDateTime = new GlideDateTime(); 
    var dur = new DurationCalculator();
    
    // Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
    dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae'); 
    dur.calcScheduleDuration(startDateTime, endDateTime);
    var secs = dur.getSeconds();
    var totalSecs = dur.getTotalSeconds();
    
    gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);

    출력

    ***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34

    DurationCalculator - getTotalSeconds( )

    calculate(record) 호출로 설정된 값을 반환합니다totalSeconds.

    표 16. 매개변수
    이름 유형 설명
    없음
    표 17. 반환
    유형 설명
    번호 총 시간(초)입니다.
    var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
    // Instantiate a new GlideDateTime object which has the end date as the current date and time
    var endDateTime = new GlideDateTime(); 
    var dur = new DurationCalculator();
    
    // Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
    dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae'); 
    dur.calcScheduleDuration(startDateTime, endDateTime);
    var secs = dur.getSeconds();
    var totalSecs = dur.getTotalSeconds();
    
    gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);

    출력

    ***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34

    DurationCalculator - isAfter(GlideDateTime dt, String tm)

    전달된 시간을 전달된 GlideDateTime 객체의 시간 값과 비교합니다.

    표 18. 매개변수
    이름 유형 설명
    Dt GlideDateTime 또는 문자열 전달 tm 된 값과 비교할 GlideDateTime 객체 또는 표시 값 날짜 및 시간입니다. 표시 값 날짜와 시간을 전달하면 이 메서드가 이를 GlideDateTime 객체로 변환합니다.
    Tm 문자열 GlideDateTime 객체의 시간 값과 비교할 시간 값을 표시합니다. 동일한 날짜를 가정합니다.

    형식: HH:mm:ss

    표 19. 반환
    유형 설명
    부울 전달된 시간 값()이 GlideDateTime 객체(tmdt)의 시간 이후인지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: tm .dt
    • false tm 는 이후 dt가 아닙니다.
    var dc = new DurationCalculator();
    gs.print(dc.isAfter("2020-04-10 08:00:00", "09:00:00"));

    스크립트: true

    DurationCalculator - setSchedule(문자열 schedId, 문자열 시간대)

    기한 계산에 사용할 일정 및 시간대를 설정합니다.

    표 20. 매개변수
    이름 유형 설명
    schedId 문자열 설정할 일정의 Sys_id입니다. 일정 [cmn_schedule] 테이블에 있습니다.
    timezone 문자열 옵션입니다. 설정할 시간대입니다.

    기본값: 사용자의 시간대입니다.

    표 21. 반환
    유형 설명
    void
    var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
    // Instantiate a new GlideDateTime object which has the end date as the current date and time
    var endDateTime = new GlideDateTime(); 
    var dur = new DurationCalculator();
    
    // Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
    dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae'); 
    dur.calcScheduleDuration(startDateTime, endDateTime);
    var secs = dur.getSeconds();
    var totalSecs = dur.getTotalSeconds();
    
    gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);

    출력

    ***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34

    DurationCalculator - setStartDateTime(문자열 start)

    기간 계산의 시작 날짜와 시간을 설정합니다.

    표 22. 매개변수
    이름 유형 설명
    시작 문자열 후속 계산을 위한 시작 시간(GMT)의 값을 표시합니다.
    표 23. 반환
    유형 설명
    void
    var dc = new DurationCalculator();
    dc.setStartDateTime("2020-04-10 08:00:00")

    DurationCalculator - setStartDateTime(GlideDateTime description)

    기간 계산의 시작 날짜와 시간을 설정합니다.

    표 24. 매개변수
    이름 유형 설명
    설명 GlideDateTime 후속 계산을 위한 시작 시간(GMT)이 포함된 GlideDateTime 객체입니다.
    표 25. 반환
    유형 설명
    void
    var startDateTime = new GlideDateTime("2020-11-02 11:00:00"); 
    var dur = new DurationCalculator();
    
    // Set 9-5 weekday schedule.
    dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae'); 
    dur.setStartDateTime(startDateTime);

    DurationCalculator - setTimeZone(timezone 문자열)

    기한을 계산하는 데 사용할 시간대를 설정합니다.

    표 26. 매개변수
    이름 유형 설명
    timezone 문자열 표준 시간대의 값입니다.
    표 27. 반환
    유형 설명
    void
    var dc = new DurationCalculator();
    dc.setTimeZone("Los Angeles");