DurationCalculator - 전역
DurationCalculator 스크립트 포함은 기간 및 기한을 계산하는 메서드를 제공합니다.
DurationCalculator - 기간 계산기( )
DurationCalculator 클래스의 생성자입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
var dc = new DurationCalculator();
DurationCalculator - calcDuration(초 수)
현재 시작 날짜 및 시간을 기준으로 기간(초)으로 경과한 종료 날짜 및 시간을 계산합니다.
또한 이 메서드는 , 및 this.totalSeconds 속성을 업데이트된 값으로 설정합니다.this.endDateTimethis.seconds 이 seconds 속성은 작업 일정을 기준으로 기간 동안 수행할 총 작업 시간(초)을 나타냅니다. 이 totalSeconds 속성은 작업 시간과 비작업을 모두 포함하는 기간의 시작 시간과 종료 시간 사이의 총 시간(초)을 나타냅니다.
이 메서드를 호출하기 전에 해당 기간 동안 사용할 시작 시간으로 setStartDateTime() 을 호출해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 초 | 번호 | 종료 날짜 및 시간, 초 및 총 초 값을 계산하기 위해 시작 날짜 및 시간에 추가할 시간(초)입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 입력 값이 숫자가 아닌 경우 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 시간으로 시간을 설정합니다. 일정에 남은 날이 충분하지 않으면 일정의 마지막 날을 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 시작 | Glide날짜/시간 | 계산 시작 날짜를 포함하는 GlideDateTime 객체입니다. |
| 일 | 번호 | 시작 날짜에 추가할 일 수입니다. |
| endTime | 문자열 | 계산된 기한에 업무 마감일이 도래하는 시간입니다. 비어 있는 경우 기본값은 작업일의 종료로 설정됩니다. 형식: HH:mm:ss |
| 유형 | 설명 |
|---|---|
| 부울 | 완료 날짜가 일정 내에 있는지 여부를 나타내는 플래그입니다. 가능한 값:
|
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(String relativeDurationID)
지정된 상대 기간 스크립트를 사용하여 기간을 계산합니다.
완료되면 this.endDateTime 계산 결과를 나타내도록 and this.seconds 속성이 설정됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 상대 기간 ID | 문자열 | 상대 기간 일정의 sys_id(테이블 cmn_relative_duration). |
| 유형 | 설명 |
|---|---|
| 부울 | 기간 스크립트의 결과입니다. |
var dc = new DurationCalculator();
dc.calcRelativeDuration('08fcd0830a0a1b2600074f56b1ad7cb');
DurationCalculator - calcScheduleDuration(String startTime, String endTime)
이미 지정된 일정과 endTime 선택적으로 재정의된 시간대 사이의 startTime 기간을 반환합니다.
또한 이 메서드는 현재 스케줄 객체에서 , this.seconds및 를 this.totalSeconds 설정합니다this.endDateTime.
| 이름 | 유형 | 설명 |
|---|---|---|
| startTime | 문자열 | 옵션입니다. 종료 시간의 표시 값입니다. 기본값: 현재 날짜 및 시간( setStartDateTime()을 사용하여 설정)을 사용합니다. 이 매개 변수가 전달되지 않은 경우 자리 표시자를 전달해야 합니다(예: |
| endTime | 문자열 | 옵션입니다. 시작 시간의 표시 값입니다. 기본값: 현재 날짜 및 시간( setEndDateTime()을 사용하여 설정)을 사용합니다. |
| 유형 | 설명 |
|---|---|
| 번호 | 일정 기간입니다. 이전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)
이미 지정된 일정과 endTime 선택적으로 재정의된 시간대 사이의 startTime 기간을 반환합니다.
또한 이 메서드는 현재 스케줄 객체에서 , this.seconds및 를 this.totalSeconds 설정합니다this.endDateTime.
| 이름 | 유형 | 설명 |
|---|---|---|
| startTime | Glide날짜/시간 | 옵션입니다. 사용할 시작 시간이 포함된 GlideDateTime 객체입니다. 기본값: 현재 날짜 및 시간( setStartDateTime()을 사용하여 설정)을 사용합니다. 이 매개 변수가 전달되지 않은 경우 자리 표시자를 전달해야 합니다(예: |
| endTime | Glide날짜/시간 | 옵션입니다. 사용할 종료 시간이 포함된 GlideDateTime 객체입니다. 기본값: 현재 날짜 및 시간( setEndDateTime()을 사용하여 설정)을 사용합니다. |
| 유형 | 설명 |
|---|---|
| 번호 | 일정 기간입니다. 이전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
기간 계산기 - getEndDateTime( )
calcDuration/calcRelativeDuration에 의해 설정된 속성을 가져와서 endDateTime 해당 기간의 종료 날짜 및 시간을 나타냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| Glide날짜/시간 | 종료 날짜/시간입니다. |
var dc = new DurationCalculator();
dc.calcDuration(52);
gs.print(dc.getEndDateTime());
2012-04-17 20:57:27
기간 계산기 - getSeconds( )
this.secondscalcDuration/calcRelativeDuration에 의해 설정된 속성을 반환합니다. 즉, 해당 기간 동안 수행할 총 작업 시간(초)을 나타냅니다.
시작 시간과 종료 시간 사이의 총 시간이 아니라 총 작업 시간이며 작업 시간의 백분율을 결정하는 데 사용할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 번호 | 총 작업 시간(초)입니다. |
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
기간 계산기 - getTotalSeconds( )
totalSecondscalculate(record) 호출에 의해 설정된 값을 반환합니다.
이 totalSeconds 속성은 작업 시간과 비작업을 모두 포함하는 기간의 시작 시간과 종료 시간 사이의 총 시간(초)을 나타냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 번호 | 총 시간(초)입니다. |
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 객체의 시간 값과 비교합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| DT | GlideDateTime 또는 String | 전달된 값과 비교할 tm GlideDateTime 객체 또는 표시 값 날짜 및 시간입니다. 표시 값 날짜 및 시간을 전달하면 메서드는 이를 GlideDateTime 개체로 변환합니다. |
| 티엠 | 문자열 | GlideDateTime 객체의 시간 값과 비교할 시간 값을 표시합니다. 같은 날짜를 가정합니다. 형식: HH:mm:ss |
| 유형 | 설명 |
|---|---|
| 부울 | 전달된 시간 값()tm이 GlideDateTime 객체()dt의 시간 이후인지를 나타내는 플래그입니다. 가능한 값:
|
var dc = new DurationCalculator();
gs.print(dc.isAfter("2020-04-10 08:00:00", "09:00:00"));
스크립트: true
DurationCalculator - setSchedule(String schedId, String timezone)
기한을 계산하는 데 사용할 일정과 시간대를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| schedId | 문자열 | 설정할 일정의 Sys_id입니다. 테이블: 일정 [cmn_schedule]. |
| 시간대 | 문자열 | 옵션입니다. 설정할 시간대입니다. 기본값: 사용자의 시간대입니다. |
| 유형 | 설명 |
|---|---|
| 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(문자열 시작)
기간 계산의 시작 날짜 및 시간을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 시작 | 문자열 | 후속 계산을 위한 시작 시간 값을 GMT 단위로 표시합니다. |
| 유형 | 설명 |
|---|---|
| void |
var dc = new DurationCalculator();
dc.setStartDateTime("2020-04-10 08:00:00")
DurationCalculator - setStartDateTime(GlideDateTime 설명)
기간 계산의 시작 날짜 및 시간을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 설명 | Glide날짜/시간 | 후속 계산을 위해 시작 시간(GMT)을 포함하는 GlideDateTime 객체입니다. |
| 유형 | 설명 |
|---|---|
| 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(문자열 시간대)
기한을 계산하는 데 사용할 시간대를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 시간대 | 문자열 | 시간대의 값입니다. |
| 유형 | 설명 |
|---|---|
| void |
var dc = new DurationCalculator();
dc.setTimeZone("Los Angeles");