GlideSchedule: Bereichsbezogen

Die bereichsbezogene GlideSchedule- API bietet Methoden zum Ausführen von Vorgängen für GlideSchedule-Objekte, z. B. das Hinzufügen neuer Zeitplansegmente zu einem Zeitplan, das Bestimmen, ob ein Datum/eine Uhrzeit im Zeitplan liegt, oder das Festlegen der Zeitplanzeitzone.

GlideSchedule: GlideSchedule()

Instanziiert ein leeres GlideSchedule-Objekt.

Tabelle : 1. Parameter
Name Typ Beschreibung
Keine

GlideSchedule: GlideSchedule(String sysID, String timeZone)

Instanziiert ein GlideSchedule-Objekt und lädt die Zeitplaninformationen. Wenn keine Zeitzone angegeben ist, wird die Zeitzone der aktuellen Sitzung verwendet.

Tabelle : 2. Parameter
Name Typ Beschreibung
sysID Zeichenfolge System-ID für den Zeitplan.
timeZone Zeichenfolge Optional. Die zu verwendende Zeitzone.

Standard: Die Zeitzone der aktuellen Sitzung.

Zeitzonen können in den folgenden Formaten angegeben werden.
  • Land/Stadt. Beispiel: Amerika/Los_Angeles.
  • Land/Zeitzone. Beispiel: USA/Pazifik.
  • Zeitzonenabkürzung. Beispiel: PST.
Eine vollständige Liste der gültigen Zeitzonen finden Sie im Feld Zeitzone in der Tabelle Benutzer [sys_user]. Weitere Informationen zu Zeitzonen finden Sie unter Time zones.
var schedule = new GlideSchedule('090eecae0a0a0b260077e1dfa71da828', 'US/Pacific');

GlideSchedule – add(GlideDateTime startDate, GlideDuration offSet)

Fügt dem aktuellen Zeitplan ein neues Zeitplansegment hinzu.

Tabelle : 3. Parameter
Name Typ Beschreibung
startDate GlideDateTime Startdatum des neuen Zeitplansegments.
offSet GlideDuration Zeitversatz des neuen Zeitplansegments.
Tabelle : 4. Ergebnisse
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);
Ausgabe:
2014-01-04 00:00:00

GlideSchedule – Dauer(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.

Tabelle : 5. Parameter
Name Typ Beschreibung
startDate GlideDateTime Datum/Uhrzeit Anfang.
endDate GlideDateTime Datum/Uhrzeit Ende.
Tabelle : 6. Ergebnisse
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

GlideSchedule – getName()

Ruft den Zeitplannamen ab.

Tabelle : 7. Parameter
Name Typ Beschreibung
Keine
Tabelle : 8. Ergebnisse
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());

GlideSchedule - isInSchedule(GlideDateTime-Zeit)

Bestimmt, ob das angegebene Datum und die angegebene Uhrzeit innerhalb des aktuellen Zeitplans liegen.

Tabelle : 9. Parameter
Name Typ Beschreibung
time GlideDateTime Zu überprüfender Datums- und Uhrzeitwert.
Tabelle : 10. Ergebnisse
Typ Beschreibung
Boolean Kennzeichnung, die angibt, ob das angegebene Datum und die angegebene Uhrzeit innerhalb des Zeitplans liegen.
Gültige Werte:
  • „wahr“: Datum und Uhrzeit liegen innerhalb des Zeitplans.
  • „falsch“: Datum und Uhrzeit liegen außerhalb des Zeitplans.
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()

Bestimmt, ob der aktuelle Zeitplan gültig ist. Ein Zeitplan ist gültig, wenn er mindestens eine Zeitplanspanne hat.

Tabelle : 11. Ergebnisse
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");
}

GlideSchedule – laden (Zeichenfolge „sysID“, Zeichenfolge „timeZone“, Zeichenfolge „excludeSpanID“)

Lädt einen Zeitplan mit den Zeitplaninformationen.

Tabelle : 12. Parameter
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.
Tabelle : 13. Ergebnisse
Typ Beschreibung
void
var x = new GlideSchedule();
x.load('08fcd0830a0a0b2600079f56b1adb9ae');

GlideSchedule – setTimeZone(String timeZone)

Legt die Zeitzone für den aktuellen Zeitplan fest.

Tabelle : 14. Parameter
Name Typ Beschreibung
timeZone Zeichenfolge Die zu verwendende Zeitzone.
Zeitzonen können in den folgenden Formaten angegeben werden.
  • Land/Stadt. Beispiel: Amerika/Los_Angeles.
  • Land/Zeitzone. Beispiel: USA/Pazifik.
  • Zeitzonenabkürzung. Beispiel: PST.
Eine vollständige Liste der gültigen Zeitzonen finden Sie im Feld Zeitzone in der Tabelle Benutzer [sys_user]. Weitere Informationen zu Zeitzonen finden Sie unter Time zones.
Tabelle : 15. Ergebnisse
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');

GlideSchedule - wennNext(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 Aufruf wennNext() gibt die Dauer (in ms) zurück, bis sich das GlideSchedule-Objekt im Zeitplan befindet. Diese Funktion gibt keinen aussagekräftigen Wert zurück, wenn sie aufgerufen wird, während sich das GlideSchedule-Objekt im Zeitplan befindet.

Tabelle : 16. Parameter
Name Typ Beschreibung
time GlideDateTime Auszuwertende Zeit
Zeitzone Zeichenfolge Zeitzone
Tabelle : 17. Ergebnisse
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:

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