DurationCalculator - Global
. DurationCalculator a inclusão de script fornece métodos para calcular durações e prazos.
DurationCalculator - DurationCalculator( )
Construtor para DurationCalculator classe.
| 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 na duração passada (segundos).
Este método também define this.endDateTime, this.secondse this.totalSecondspropriedades com os valores atualizados. . secondsa propriedade representa o número total de segundos de trabalho a ser realizado na duração com base na programação de trabalho. . totalSecondsa propriedade representa o número total de segundos entre as horas 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( início GlideDateTime, número de dias, cadeia de caracteres de 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 de definições de duração relativa, iniciado por CalcRelativeDuration() , como calculator.calcRelativeDueDate(calculator.startDateTime, dias) . Quando o dia em que o trabalho vence é determinado, o método define a hora para a passada endTimedesse dia. Se não houver dias suficientes restantes na programação, usará o último dia na programação.
| Nome | Tipo | Descrição |
|---|---|---|
| início | GlideDateTime | Objeto GlideDateTime que contém a data de início do cálculo. |
| dias | Número | Número de dias para adicionar à 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 relativeDurationID)
Calcula a duração usando o script de duração relativa especificado.
Após a conclusão, o this.endDateTimee. this.secondsas propriedades são definidas para indicar os resultados do cálculo.
| Nome | Tipo | Descrição |
|---|---|---|
| RelativaDurationID | 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 (cadeia de caracteres startTime, cadeia de caracteres endTime )
Retorna a duração entre startTimee o. endTimena programação já especificada e fuso horário opcionalmente substituído.
Este método também define this.endDateTime, this.secondse this.totalSecondsno objeto de programação atual.
| Nome | Tipo | Descrição |
|---|---|---|
| startTime | Cadeia de caracteres | Opcional. Valor de exibição da hora de término. Padrão: Usa a data e a hora atuais (defina usando SetStartDateTime() ). Se este parâmetro não for aprovado, você deve passar um espaço reservado, como |
| endTime | Cadeia de caracteres | Opcional. Valor de exibição da hora de início. Padrão: Usa a data e a hora atuais (defina usando SetEndDateTime() ). |
| Tipo | Descrição |
|---|---|
| Número | Duração da programação. Retorna 0 se endTimeé anterior startTime. 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 startTimee o. endTimena programação já especificada e fuso horário opcionalmente substituído.
Este método também define this.endDateTime, this.secondse this.totalSecondsno 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 (defina usando SetStartDateTime() ). Se este parâmetro não for aprovado, você deve passar um espaço reservado, como |
| endTime | GlideDateTime | Opcional. Objeto GlideDateTime que contém a hora de término a ser usada. Padrão: Usa a data e a hora atuais (defina usando SetEndDateTime() ). |
| Tipo | Descrição |
|---|---|
| Número | Duração da programação. Retorna 0 se endTimeé anterior startTime. 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 o. endDateTimepropriedade que foi definida por CalcDuration / CalcRelativeDuration , indicando a data e a hora de término da duração.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideDateTime | O fim data/hora . |
var dc = new DurationCalculator();
dc.calcDuration(52);
gs.print(dc.getEndDateTime());
2012-04-17 20:57:27
DurationCalculator - getSeconds( )
Retorna this.secondspropriedade que foi definida por CalcDuration / CalcRelativeDuration indicando o número total de segundos de trabalho a ser realizado durante a duração.
Este é o tempo total de trabalho, não o tempo total entre as horas 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 totalSecondsvalor que foi definido por uma chamada para calcular (registro) .
. totalSecondsa propriedade representa o número total de segundos entre as horas 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, cadeia de caracteres tm)
Compara o tempo passado com o valor de tempo no objeto Passado em GlideDateTime.
| 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 passado tmvalor. Se você passar uma data e hora de valor de exibição, o método o 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 foi aprovado ( tmApós a 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 - setSchedId (cadeia de caracteres , fuso horário da cadeia de caracteres)
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. Tabela: Programação [cmn_schedule]. |
| fuso horário | Cadeia de caracteres | Opcional. Fuso horário a ser definido. Fuso horário do usuário. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo de código a seguir mostra como chamar este método.
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( início da cadeia de caracteres)
Define a data e a hora de início dos cálculos de duração.
| Nome | Tipo | Descrição |
|---|---|---|
| início | 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 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 de 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");