GlideSchedule – Umfang

Der Umfang ist festgelegt GlideSchedule Die 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 innerhalb des Zeitplans liegt, oder das Festlegen der Zeitzone des Zeitplans.

GlideSchedule – GlideSchedule()

Instanziiert ein leeres GlideSchedule-Objekt.

Tabelle : 1. Parameter
Name Typ Beschreibung
Keine

GlideSchedule – GlideSchedule(SYS-ID der Zeichenfolge, Zeitzone der Zeichenfolge)

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 bereitgestellt 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 unter Zeitzone Feld in der Anwendertabelle [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)

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. Rückgaben
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 im Zeitplan.
  • 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. Rückgaben
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 – load(Zeichenfolge sysID, Zeichenfolgenzeitzone, 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(Zeichenfolgenzeitzone)

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 bereitgestellt 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 unter Zeitzone Feld in der Anwendertabelle [sys_user]. Weitere Informationen zu Zeitzonen finden Sie unter Time zones.
Tabelle : 15. Rückgaben
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 – WhiNext(GlideDateTime, Zeitzone der Zeichenfolge)

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 „WhieNext()“ gibt die Dauer (in ms) zurück, bis sich das GlideSchedule-Objekt innerhalb des Zeitplans befindet. Diese Funktion gibt keinen aussagekräftigen Wert zurück, wenn sie aufgerufen wird, wenn sich das GlideSchedule-Objekt innerhalb des Zeitplans befindet.

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