GlideSchedule - Com escopo

O escopo GlideSchedule A API fornece métodos para executar operações em objetos GlideSchedule, como adicionar novos segmentos de programação a uma programação, determinar se uma data/hora está dentro da programação ou definir o fuso horário da programação.

GlideSchedule - GlideSchedule()

Instancia um objeto GlideSchedule vazio.

Tabela 1. Parâmetros
Nome Tipo Descrição
Nenhum

GlideSchedule - GlideSchedule (SYSID de cadeia de caracteres, fuso horário da cadeia de caracteres)

Instancia um objeto GlideSchedule e carrega as informações de programação. Se um fuso horário não for especificado, o fuso horário da sessão atual será usado.

Tabela 2. Parâmetros
Nome Tipo Descrição
sysID Cadeia de caracteres O ID do sistema da programação.
fuso horário Cadeia de caracteres Opcional. O fuso horário a ser usado.

Fuso horário da sessão atual.

Os fusos horários podem ser fornecidos nos seguintes formatos.
  • País/Cidade . Por exemplo, Los Angeles .
  • País/Fuso horário . Por exemplo, EUA/Pacífico .
  • Abreviação do fuso horário . Por exemplo, PST .
Para obter uma lista completa de fusos horários válidos, consulte Fuso horário Campo na tabela Usuário [sys_user]. Para obter mais informações sobre fusos horários, consulte Time zones.
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');

GlideSchedule - adicionar (GlideDateTime startDate, deslocamento GlideDuration)

Adiciona um novo segmento de programação à programação atual.

Tabela 3. Parâmetros
Nome Tipo Descrição
startDate GlideDateTime A data de início do novo segmento de programação.
Deslocamento GlideDuration O deslocamento de tempo do novo segmento de programação.
Tabela 4. Retornos
Tipo Descrição
GlideDateTime A programação foi atualizada com o novo segmento de programação.
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);
Saída:
2014-01-04 00:00:00

GlideSchedule - Duração (GlideDateTime startDate, GlideDateTime endDate)

Determina o tempo decorrido na programação entre dois valores de data e hora usando o fuso horário da programação ou, se não for especificado, o fuso horário da sessão.

Tabela 5. Parâmetros
Nome Tipo Descrição
startDate GlideDateTime A data e hora de início.
endDate GlideDateTime A data e hora de término.
Tabela 6. Retornos
Tipo Descrição
GlideDuration A diferença entre a data e hora de início e término.
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()

Recupera o nome da programação.

Tabela 7. Parâmetros
Nome Tipo Descrição
Nenhum
Tabela 8. Retorna
Tipo Descrição
Cadeia de caracteres O nome da programação atual.
sys_id ='04e664654a36232701a2247dcd8fc4cf'; // sys_id for "Application" schedule record
var sched = new GlideSchedule(sys_id);
gs.info(sched.getName());

GlideSchedule - isInSchedule(GlideDateTime Time)

Determina se a data e a hora especificadas estão dentro da programação atual.

Tabela 9. Parâmetros
Nome Tipo Descrição
hora GlideDateTime Valor de data e hora a ser verificado.
Tabela 10. Retornos
Tipo Descrição
Booliano Sinalizador que indica se a data e a hora especificadas estão dentro da programação.
Valores válidos:
  • Verdadeiro: Data e hora estão dentro da programação.
  • Falso: Data e hora estão fora da programação.
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()

Determina se a programação atual é válida. Uma programação será válida se tiver pelo menos um período de programação.

Tabela 11. Retornos
Tipo Descrição
Booliano Verdadeiro se a programação for válida.
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(cadeia de caracteres SYSID, cadeia de caracteres de fuso horário, cadeia de caracteres excludeSpanID)

Carrega uma programação com as informações da programação.

Tabela 12. Parâmetros
Nome Tipo Descrição
sysID Cadeia de caracteres O ID do sistema da programação.
fuso horário Cadeia de caracteres (Opcional) O fuso horário. Se um fuso horário não for especificado ou for nulo, o fuso horário da sessão atual será usado para a programação.
ExcludeSpanID Cadeia de caracteres Qualquer período a ser excluído.
Tabela 13. Retornos
Tipo Descrição
vazio
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');

GlideSchedule - setTimeZone (cadeia de caracteres de fuso horário)

Define o fuso horário da programação atual.

Tabela 14. Parâmetros
Nome Tipo Descrição
fuso horário Cadeia de caracteres O fuso horário a ser usado.
Os fusos horários podem ser fornecidos nos seguintes formatos.
  • País/Cidade . Por exemplo, Los Angeles .
  • País/Fuso horário . Por exemplo, EUA/Pacífico .
  • Abreviação do fuso horário . Por exemplo, PST .
Para obter uma lista completa de fusos horários válidos, consulte Fuso horário Campo na tabela Usuário [sys_user]. Para obter mais informações sobre fusos horários, consulte Time zones.
Tabela 15. Retornos
Tipo Descrição
vazio

Este exemplo define o fuso horário da programação como EUA/Pacífico.

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

GlideSchedule - whenNext (GlideDateTime Time, fuso horário da cadeia de caracteres)

Determina quanto tempo (em milissegundos) até a hora de início do próximo item de programação.

Esta função deve ser chamada quando o objeto GlideSchedule (tabela cmn_schedule) não está na janela de programação. A chamada whenNext() retorna a duração (em ms) até que o objeto GlideSchedule esteja dentro da programação. Esta função não retornará um valor significativo se for chamada quando o objeto GlideSchedule estiver dentro da programação.

Tabela 16. Parâmetros
Nome Tipo Descrição
hora GlideDateTime Tempo a ser avaliado
fuso horário Cadeia de caracteres Fuso horário
Tabela 17. Retornos
Tipo Descrição
Número Número de milissegundos até a hora de início do próximo item de programação. Retorna -1 se nunca.
var startDate = new GlideDateTime('2014-10-25 08:00:00');
var glideSchedule = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae', 'UTC');
gs.info(glideSchedule.whenNext(startDate));

Saída:

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

Saída:

[Scheduled for future] *** Script: Not currently in schedule *** Script: Next schedule starts in 332894000 milliseconds