GlideSchedule - Dans le champ d’application
L’API GlideSchedule incluse dans le périmètre fournit des méthodes pour effectuer des opérations sur les objets GlideSchedule, telles que l’ajout de nouveaux segments de calendrier à un calendrier, la détermination si une date/heure figure dans le calendrier ou la définition du fuseau horaire du calendrier.
GlideSchedule : GlideSchedule()
Instancie un objet GlideSchedule vide.
| Nom | Type | Description |
|---|---|---|
| Aucun |
GlideSchedule : GlideSchedule(String sysID, String timeZone)
Instancie un objet GlideSchedule et charge les informations de calendrier. Si aucun fuseau horaire n’est spécifié, le fuseau horaire de la session en cours est utilisé.
| Nom | Type | Description |
|---|---|---|
| sysID | Chaîne | ID système pour le calendrier. |
| Fuseau horaire | Chaîne | Facultatif. Fuseau horaire à utiliser. Par défaut : fuseau horaire de la session en cours. Les fuseaux horaires peuvent être fournis dans les formats suivants.
|
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');
GlideSchedule : ajouter (GlideDateTime startDate, GlideDuration offSet)
Ajoute un nouveau segment de calendrier au calendrier actuel.
| Nom | Type | Description |
|---|---|---|
| startDate | GlideDateTime | Date de début du nouveau segment de calendrier. |
| compenser | GlideDuration (en anglais seulement) | Décalage de temps du nouveau segment de calendrier. |
| Type | Description |
|---|---|
| GlideDateTime | Calendrier mis à jour avec le nouveau segment de calendrier. |
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 : durée(GlideDateTime, startDate, GlideDateTime, endDate)
Détermine le temps écoulé dans le calendrier entre deux valeurs de date/heure à l’aide du fuseau horaire du calendrier ou, à défaut, du fuseau horaire de la session.
| Nom | Type | Description |
|---|---|---|
| startDate | GlideDateTime | La date/heure de début. |
| endDate | GlideDateTime | La date/heure de fin. |
| Type | Description |
|---|---|
| GlideDuration (en anglais seulement) | La différence entre la date/l’heure de début et l’heure de fin. |
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()
Récupère le nom du calendrier.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom du calendrier actuel. |
sys_id ='04e664654a36232701a2247dcd8fc4cf'; // sys_id for "Application" schedule record
var sched = new GlideSchedule(sys_id);
gs.info(sched.getName());
GlideSchedule : isInSchedule (heure GlideDateTime)
Détermine si la date et l’heure spécifiées se trouvent dans le calendrier actuel.
| Nom | Type | Description |
|---|---|---|
| Diagramme des séries chronologiques | GlideDateTime | Valeur de date et d’heure à vérifier. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la date et l’heure spécifiées se trouvent dans le calendrier. Valeurs valides :
|
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()
Détermine si le calendrier actuel est valide. Un calendrier est valide s’il comporte au moins une plage de calendrier.
| Type | Description |
|---|---|
| Booléen | Vrai si le calendrier est valide. |
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(String sysID, String timeZone, String excludeSpanID)
Charge un calendrier avec les informations de calendrier.
| Nom | Type | Description |
|---|---|---|
| sysID | Chaîne | ID système du calendrier. |
| Fuseau horaire | Chaîne | (Facultatif) Le fuseau horaire. Si aucun fuseau horaire n’est spécifié ou qu’il est nul, le fuseau horaire de la session en cours est utilisé pour le calendrier. |
| excludeSpanID | Chaîne | N’importe quel parcours à exclure. |
| Type | Description |
|---|---|
| nul |
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');
GlideSchedule : setTimeZone(String timeZone)
Définit le fuseau horaire du calendrier actuel.
| Nom | Type | Description |
|---|---|---|
| Fuseau horaire | Chaîne | Fuseau horaire à utiliser. Les fuseaux horaires peuvent être fournis dans les formats suivants.
|
| Type | Description |
|---|---|
| nul |
Cet exemple définit le fuseau horaire du calendrier sur États-Unis/Pacifique.
var schedule = new GlideSchedule();
schedule.setTimeZone('US/Pacific');
GlideSchedule : whenNext(GlideDateTime time, String timeZone)
Détermine la durée (en millisecondes) jusqu’à l’heure de début du prochain élément de calendrier.
Cette fonction est destinée à être appelée lorsque l’objet GlideSchedule (table cmn_schedule) n’est pas actuellement dans la fenêtre de planification. L’appel whenNext() renvoie la durée (en ms) jusqu’à ce que l’objet GlideSchedule se trouve dans le calendrier. Cette fonction ne renvoie pas de valeur significative si elle est appelée lorsque l’objet GlideSchedule se trouve dans le calendrier.
| Nom | Type | Description |
|---|---|---|
| Diagramme des séries chronologiques | GlideDateTime | Heure à évaluer |
| Fuseau horaire | Chaîne | Fuseau horaire |
| Type | Description |
|---|---|
| Numéro | Nombre de millisecondes jusqu’à l’heure de début de l’élément de calendrier suivant. Renvoie -1 si jamais. |
var startDate = new GlideDateTime('2014-10-25 08:00:00');
var glideSchedule = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae', 'UTC');
gs.info(glideSchedule.whenNext(startDate));
Sortie :
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
Sortie :
[Scheduled for future] *** Script: Not currently in schedule *** Script: Next schedule starts in 332894000 milliseconds