GlideSchedule - com escopo
A API GlideSchedule com escopo 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 com escopo - add(GlideDateTime startDate, GlideDuration offSet)
Adiciona um novo segmento de programação à programação atual.
| Nome | Tipo | Descrição |
|---|---|---|
| startDate | GlideDateTime | A data de início do novo segmento de programação. |
| offSet | GlideDuration | A compensação de tempo do novo segmento de programação. |
| Tipo | Descrição |
|---|---|
| GlideDateTime | A programação 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);
2014-01-04 00:00:00GlideSchedule com escopo - 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.
| Nome | Tipo | Descrição |
|---|---|---|
| startDate | GlideDateTime | A data/hora inicial. |
| endDate | GlideDateTime | A data/hora final. |
| Tipo | Descrição |
|---|---|
| GlideDuration | A diferença entre a data e hora inicial e final. |
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 com escopo – getName()
Recupera o nome da programação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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 com escopo — GlideSchedule()
Instancia um objeto GlideSchedule vazio.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
GlideSchedule com escopo - GlideSchedule(cadeia de caracteres sysID, cadeia de caracteres fuso horário)
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.
| Nome | Tipo | Descrição |
|---|---|---|
| sysID | Cadeia de caracteres | O ID do sistema para a programação. |
| fuso horário | Cadeia de caracteres | Opcional. O fuso horário a ser usado. Padrão: o fuso horário da sessão atual. Os fusos horários podem ser fornecidos nos seguintes formatos.
|
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');
GlideSchedule com escopo - isInSchedule(GlideDateTime time)
Determina se a data e hora especificadas estão dentro da programação atual.
| Nome | Tipo | Descrição |
|---|---|---|
| hora | GlideDateTime | Valor de data e hora a ser verificado. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a data e hora especificadas estão dentro da programação. Valores válidos:
|
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 com escopo - isValid()
Determina se a programação atual é válida. Uma programação é válida se tiver pelo menos um período de programação.
| 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 com escopo - load(cadeia de caracteres sysID, cadeia de caracteres fuso horário, cadeia de caracteres excludeSpanID)
Carrega uma programação com as informações da programação.
| 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. |
| Tipo | Descrição |
|---|---|
| vazio |
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');
GlideSchedule com escopo - setTimeZone(cadeia de caracteres "timeZone")
Define o fuso horário da programação atual.
| 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.
|
| 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 com escopo -whenNext(GlideDateTime time, String timeZone)
Determina quanto tempo (em milissegundos) falta 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 estiver na janela de programação. A chamadawhenNext() retorna a duração (em ms) até que o objeto GlideSchedule esteja dentro da programação. Esta função não retorna um valor significativo se for chamada quando o objeto GlideSchedule estiver dentro da programação.
| Nome | Tipo | Descrição |
|---|---|---|
| hora | GlideDateTime | Tempo a ser avaliado |
| fuso horário | Cadeia de caracteres | Fuso horário |
| 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:
[Programado para o futuro] *** Script: não está na programação atualmente *** Script: a próxima programação começa em 332894000 milissegundos