DurationCalculator - Global
A inclusão de script DurationCalculator fornece métodos para calcular durações e datas de vencimento.
DurationCalculator - DurationCalculator( )
Construtor da classe DurationCalculator.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
var dc = new DurationCalculator();
DurationCalculator - calcDuration(Número de segundos)
Calcula uma data e hora de término com base na data e hora de início atuais e passadas em duração (segundos).
Este método também define as propriedades this.endDateTime, this.secondse this.totalSeconds com os valores atualizados. A propriedade seconds representa o número total de segundos de trabalho a ser realizado na duração com base na programação de trabalho. A propriedade totalSeconds representa o número total de segundos entre os horários de início e término da duração, o que inclui trabalho e não trabalho.
Antes de chamar este método, você deve chamar setStartDateTime() com a hora de início a ser usada para a duração.
| Nome | Tipo | Descrição |
|---|---|---|
| segundos | Número | Número de segundos a serem adicionados à data e hora de início para calcular os valores de data e hora de término, segundos e total de segundos. |
| Tipo | Descrição |
|---|---|
| Booliano | Falso se o valor de entrada não for um número. |
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);
Saída
***SCHEDULE DURATION: SECS=172800 TOTALSECS=970534 ENDTIME = 2020-05-03 00:00:00
DurationCalculator - calcRelativeDueDate(GlideDateTime start, Number days, String endTime)
Calcula a data de vencimento começando na hora de início aprovada e adicionando o número de dias usando a programação e o fuso horário atuais.
Chamado a partir de definições de duração relativa, iniciadas por calcRelativeDuration(), como calculadora.calculRelativeDueDate(calculator.startDateTime, days). Depois que o dia em que o trabalho vence é determinado, o método define a hora como aprovada em endTime desse dia. Se não houver dias suficientes na programação, usará o último dia na programação.
| Nome | Tipo | Descrição |
|---|---|---|
| iniciar | GlideDateTime | Objeto GlideDateTime que contém a data de início do cálculo. |
| dias | Número | Número de dias a serem adicionados à data de início. |
| endTime | Cadeia de caracteres | Hora do dia em que o trabalho vence na data de vencimento calculada. Se estiver em branco, o padrão será o fim do dia útil. Formato: HH:mm:ss |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a data de conclusão está dentro da programação. Valores possíveis:
|
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(cadeia de caracteres relativaDurationID)
Calcula a duração usando o script de duração relativa especificado.
Após a conclusão, as propriedades this.endDateTime e this.seconds são definidas para indicar os resultados do cálculo.
| Nome | Tipo | Descrição |
|---|---|---|
| ID da duração relativa | Cadeia de caracteres | sys_id da programação de duração relativa (tabela cmn_relative_duration). |
| Tipo | Descrição |
|---|---|
| Booliano | O resultado do script de duração. |
var dc = new DurationCalculator();
dc.calcRelativeDuration('08fcd0830a0a1b2600074f56b1ad7cb');
DurationCalculator - calcScheduleDuration(String startTime, String endTime)
Retorna a duração entre startTime e endTime dentro da programação já especificada e, opcionalmente, o fuso horário substituído.
Este método também define this.endDateTime, this.secondse this.totalSeconds no objeto de programação atual.
| Nome | Tipo | Descrição |
|---|---|---|
| startTime | Cadeia de caracteres | Opcional. Valor de exibição para a hora de término. Padrão: usa a data e a hora atuais (definidas usando setStartDateTime()). Você deve passar um espaço reservado se este parâmetro não tiver passado, como |
| endTime | Cadeia de caracteres | Opcional. Valor de exibição para a hora de início. Padrão: usa a data e hora atuais (definidas usando setEndDateTime()). |
| Tipo | Descrição |
|---|---|
| Número | Duração da programação. Retorna 0 se endTime for anterior startTimea . Unidade: segundos |
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);
Saída
***SCHEDULE DURATION: SECS=97200 TOTALSECS=338400 ENDTIME = 2019-01-06 09:00:00
DurationCalculator - calcScheduleDuration(GlideDateTime startTime, GlideDateTime endTime)
Retorna a duração entre startTime e endTime dentro da programação já especificada e, opcionalmente, o fuso horário substituído.
Este método também define this.endDateTime, this.secondse this.totalSeconds no objeto de programação atual.
| Nome | Tipo | Descrição |
|---|---|---|
| startTime | GlideDateTime | Opcional. Objeto GlideDateTime que contém a hora de início a ser usada. Padrão: usa a data e a hora atuais (definidas usando setStartDateTime()). Você deve passar um espaço reservado se este parâmetro não tiver passado, como |
| endTime | GlideDateTime | Opcional. Objeto GlideDateTime que contém a hora de término a ser usada. Padrão: usa a data e hora atuais (definidas usando setEndDateTime()). |
| Tipo | Descrição |
|---|---|
| Número | Duração da programação. Retorna 0 se endTime for anterior startTimea . Unidade: segundos |
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);
Saída
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator - getEndDateTime( )
Obtém a propriedade endDateTime que foi definida por calcDuration/calcRelativeDuration, indicando a data e hora de término da duração.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideDateTime | A data/horade término ]. |
var dc = new DurationCalculator();
dc.calcDuration(52);
gs.print(dc.getEndDateTime());
2012-04-17 20:57:27
DurationCalculator - getSeconds()
Retorna a propriedade this.seconds que foi definida por calcDuration/calcRelativeDuration, indicando o número total de segundos de trabalho a ser realizado para a duração.
Este é o tempo total de trabalho, não o tempo total entre os horários de início e término e pode ser usado para determinar porcentagens do tempo de trabalho.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | O tempo total de trabalho, em segundos. |
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);
Saída
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator - getTotalSeconds()
Retorna o valor totalSeconds que foi definido por uma chamada para calcular (registro).
A propriedade totalSeconds representa o número total de segundos entre os horários de início e término da duração, o que inclui trabalho e não trabalho.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | O número total de segundos. |
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);
Saída
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator - isAfter(GlideDateTime dt, String tm)
Compara o tempo passado com o valor de tempo no objeto GlideDateTime passado.
| Nome | Tipo | Descrição |
|---|---|---|
| dt | GlideDateTime ou cadeia de caracteres | Um objeto GlideDateTime ou uma data e hora de valor de exibição para comparar com o valor passado tm. Se você passar uma data e hora de valor de exibição, o método a converterá em um objeto GlideDateTime. |
| tm | Cadeia de caracteres | Valor de exibição do tempo a ser comparado com o valor de tempo no objeto GlideDateTime. Assume a mesma data. Formato: HH:mm:ss |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o valor de tempo passado (tm) é posterior à hora no objeto GlideDateTime (dt). Valores possíveis:
|
var dc = new DurationCalculator();
gs.print(dc.isAfter("2020-04-10 08:00:00", "09:00:00"));
*** Script: verdadeiro
DurationCalculator - setSchedule(cadeia de caracteres schedId, cadeia de caracteres fuso horário)
Define a programação e o fuso horário a serem usados para calcular a data de vencimento.
| Nome | Tipo | Descrição |
|---|---|---|
| schedId | Cadeia de caracteres | Sys_id da programação a ser definida. Localizado na tabela Programação [cmn_schedule]. |
| fuso horário | Cadeia de caracteres | Opcional. Fuso horário a ser definido. Padrão: fuso horário do usuário. |
| Tipo | Descrição |
|---|---|
| vazio |
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);
Saída
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator - setStartDateTime(String start)
Define a data e a hora de início dos cálculos de duração.
| Nome | Tipo | Descrição |
|---|---|---|
| iniciar | Cadeia de caracteres | Valor de exibição da hora de início em GMT para cálculos subsequentes. |
| Tipo | Descrição |
|---|---|
| vazio |
var dc = new DurationCalculator();
dc.setStartDateTime("2020-04-10 08:00:00")
DurationCalculator - setStartDateTime(descrição de GlideDateTime)
Define a data e a hora de início dos cálculos de duração.
| Nome | Tipo | Descrição |
|---|---|---|
| descrição | GlideDateTime | Objeto GlideDateTime que contém a hora de início em GMT para cálculos subsequentes. |
| Tipo | Descrição |
|---|---|
| vazio |
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(cadeia de caracteres fuso horário)
Define o fuso horário a ser usado para calcular a data de vencimento.
| Nome | Tipo | Descrição |
|---|---|---|
| fuso horário | Cadeia de caracteres | Valor do fuso horário. |
| Tipo | Descrição |
|---|---|
| vazio |
var dc = new DurationCalculator();
dc.setTimeZone("Los Angeles");