GlideSchedule – Scoped
Die bereichsbezogene GlideSchedule- API bietet Methoden zum Ausführen von Vorgängen an GlideSchedule-Objekten, z. B. das Hinzufügen neuer Zeitplansegmente zu einem Zeitplan, das Ermitteln, ob ein Datum/eine Uhrzeit innerhalb des Zeitplans liegt, oder das Festlegen der Zeitzone des Zeitplans.
Scoped GlideSchedule – add(GlideDateTime startDate, GlideDuration offSet)
Fügt dem aktuellen Zeitplan ein neues Zeitplansegment hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| startDate | GlideDateTime | Startdatum des neuen Zeitplansegments. |
| offSet | GlideDuration | Zeitversatz des neuen Zeitplansegments. |
| Typ | Beschreibung |
|---|---|
| GlideDateTime | Der Zeitplan wurde mit dem neuen Zeitplansegment aktualisiert. |
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:00Scoped GlideSchedule – duration(GlideDateTime startDate, GlideDateTime endDate)
Bestimmt die verstrichene Zeit im Zeitplan zwischen zwei Datum-/Uhrzeit-Werten anhand der Zeitzone des Zeitplans oder, falls nicht anders angegeben, der Zeitzone der Sitzung.
| Name | Typ | Beschreibung |
|---|---|---|
| startDate | GlideDateTime | Datum/Uhrzeit Anfang. |
| endDate | GlideDateTime | Datum/Uhrzeit Ende. |
| Typ | Beschreibung |
|---|---|
| GlideDuration | Unterschied zwischen Datum/Uhrzeit Anfang und Datum/Uhrzeit Ende. |
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
Scoped GlideSchedule – getName()
Ruft den Zeitplannamen ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Name des aktuellen Zeitplans. |
sys_id ='04e664654a36232701a2247dcd8fc4cf'; // sys_id for "Application" schedule record
var sched = new GlideSchedule(sys_id);
gs.info(sched.getName());
Scoped GlideSchedule – GlideSchedule()
Instanziiert ein leeres GlideSchedule-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
Scoped GlideSchedule – GlideSchedule(String sysID, String timeZone)
Instanziiert ein GlideSchedule-Objekt und lädt die Zeitplaninformationen. Wenn keine Zeitzone angegeben ist, wird die aktuelle Sitzungszeitzone verwendet.
| Name | Typ | Beschreibung |
|---|---|---|
| sysID | Zeichenfolge | System-ID für den Zeitplan. |
| timeZone | Zeichenfolge | Optional. Die zu verwendende Zeitzone. Standard: Die aktuelle Sitzungszeitzone. Zeitzonen können in den folgenden Formaten angegeben werden.
|
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');
Scoped GlideSchedule – isInSchedule(GlideDateTime time)
Bestimmt, ob das angegebene Datum und die angegebene Uhrzeit innerhalb des aktuellen Zeitplans liegen.
| Name | Typ | Beschreibung |
|---|---|---|
| time | GlideDateTime | Zu überprüfender Datums- und Uhrzeitwert. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das angegebene Datum und die angegebene Uhrzeit innerhalb des Zeitplans liegen. Gültige Werte:
|
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");
}
Scoped GlideSchedule – isValid()
Bestimmt, ob der aktuelle Zeitplan gültig ist. Ein Zeitplan ist gültig, wenn er mindestens eine Zeitplanspanne hat.
| Typ | Beschreibung |
|---|---|
| Boolean | „True“, wenn der Zeitplan gültig ist. |
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");
}
Scoped GlideSchedule – load(String sysID, String timeZone, String excludeSpanID)
Lädt einen Zeitplan mit den Zeitplaninformationen.
| Name | Typ | Beschreibung |
|---|---|---|
| sysID | Zeichenfolge | System-ID des Zeitplans. |
| timeZone | Zeichenfolge | (Optional) Zeitzone. Wenn keine Zeitzone angegeben ist oder sie NULL ist, wird die aktuelle Sitzungszeitzone für den Zeitplan verwendet. |
| excludeSpanID | Zeichenfolge | Jede Spanne, die ausgeschlossen werden soll. |
| Typ | Beschreibung |
|---|---|
| void |
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');
Scoped GlideSchedule – setTimeZone(String timeZone)
Legt die Zeitzone für den aktuellen Zeitplan fest.
| Name | Typ | Beschreibung |
|---|---|---|
| timeZone | Zeichenfolge | Die zu verwendende Zeitzone. Zeitzonen können in den folgenden Formaten angegeben werden.
|
| Typ | Beschreibung |
|---|---|
| void |
In diesem Beispiel wird die Zeitzone für den Zeitplan auf US/Pacific festgelegt.
var schedule = new GlideSchedule();
schedule.setTimeZone('US/Pacific');
Scoped GlideSchedule – whenNext(GlideDateTime time, String timeZone)
Bestimmt, wie viel Zeit (in Millisekunden) bis zum Startzeitpunkt des nächsten Zeitplanelements vergeht.
Diese Funktion soll aufgerufen werden, wenn sich das GlideSchedule-Objekt (Tabelle cmn_schedule) derzeit nicht im Zeitplanfenster befindet. Der whenNext()-Aufruf gibt die Dauer (in ms) zurück, bis das GlideSchedule-Objekt innerhalb des Zeitplans ist. Diese Funktion gibt keinen aussagekräftigen Wert zurück, wenn sie aufgerufen wird, während sich das GlideSchedule-Objekt innerhalb des Zeitplans befindet.
| Name | Typ | Beschreibung |
|---|---|---|
| time | GlideDateTime | Auszuwertende Zeit |
| Zeitzone | Zeichenfolge | Zeitzone |
| Typ | Beschreibung |
|---|---|
| Nummer | Anzahl der Millisekunden bis zur Startzeit des nächsten Zeitplanelements. Gibt -1 zurück, wenn nie. |
var startDate = new GlideDateTime('2014-10-25 08:00:00');
var glideSchedule = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae', 'UTC');
gs.info(glideSchedule.whenNext(startDate));
Ausgabe:
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
Ausgabe:
[Geplant für Zukunft] *** Skript: Derzeit nicht im Zeitplan *** Skript: Nächster Zeitplan beginnt in 332894000 Millisekunden