DurationCalculator : Global
Die DurationCalculator -Skripteinbindung bietet Methoden zum Berechnen von Dauern und Fälligkeitsdaten.
DurationCalculator – DurationCalculator()
Konstruktor für DurationCalculator-Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
var dc = new DurationCalculator();
DurationCalculator – calcDuration(Number seconds)
Berechnet ein Enddatum und eine Endzeit basierend auf dem aktuellen Startdatum und der aktuellen Startzeit und der übergebenen Dauer (Sekunden).
Diese Methode legt auch die Eigenschaften this.endDateTime, this.secondsund this.totalSeconds mit den aktualisierten Werten fest. Die Eigenschaft seconds stellt die Gesamtanzahl der Sekunden der Arbeit dar, die in der Dauer basierend auf dem Arbeitszeitplan ausgeführt werden soll. Die Eigenschaft totalSeconds stellt die Gesamtanzahl der Sekunden zwischen der Start- und Endzeit der Dauer dar, die sowohl Arbeit als auch Nicht-Arbeit umfasst.
Bevor Sie diese Methode aufrufen, müssen Sie setStartDateTime() mit der Startzeit aufrufen, die für die Dauer verwendet werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| seconds | Nummer | Anzahl der Sekunden, die zum Startdatum und zur Startzeit addiert werden, um das Enddatum und die Endzeit, die Sekunden und die Gesamtsekundenwerte zu berechnen. |
| Typ | Beschreibung |
|---|---|
| Boolean | „Falsch“, wenn der Eingabewert keine Zahl ist. |
var gdt = new GlideDateTime("2020-05-01 00:00:00");
var dc = new DurationCalculator();
dc.setStartDateTime(gdt);
if(!dc.calcDuration(2*24*3600)){ // 2 days
gs.log("*** Error calculating duration");
return;
}
var secs = dc.getSeconds();
var totalSecs = dc.getTotalSeconds();
gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);
Ausgabe
***SCHEDULE DURATION: SECS=172800 TOTALSECS=970534 ENDTIME = 2020-05-03 00:00:00
DurationCalculator – calcRelativeDueDate(GlideDateTime start, Number days, String endTime)
Berechnet das Fälligkeitsdatum ab der übergebenen Startzeit und addiert die Anzahl der Tage unter Verwendung des aktuellen Zeitplans und der Zeitzone.
Wird initiiert von calcRelativeDuration() als calculator.calcRelativeDueDate(calculator.startDateTime, days) aus relativen Dauerdefinitionen aufgerufen. Sobald der Tag bestimmt ist, an dem die Arbeit fällig ist, legt die Methode die Uhrzeit auf den übergebenen endTime dieses Tages fest. Wenn im Zeitplan nicht mehr genügend Tage vorhanden sind, wird der letzte Tag im Zeitplan verwendet.
| Name | Typ | Beschreibung |
|---|---|---|
| start | GlideDateTime | GlideDateTime-Objekt, das das Startdatum für die Berechnung enthält. |
| Tage | Nummer | Anzahl der Tage, die dem Startdatum hinzugefügt werden sollen. |
| endTime | Zeichenfolge | Uhrzeit, zu der die Arbeit am berechneten Fälligkeitsdatum fällig ist. Wenn leer, wird standardmäßig das Ende des Arbeitstags verwendet. Format: HH:mm:ss |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das Abschlussdatum innerhalb des Zeitplans liegt. Mögliche Werte:
|
var dc = new DurationCalculator();
var startTime = new GlideDateTime();
// Settings for calculations
// Optional: Specify the schedule to use for the following calculations
dc.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
// Optional: Specify a different timezone to use
dc.setTimeZone("Los Angeles");
// Optional: Set a start date and time, otherwise the current time is assumed
dc.setStartDateTime("2020-04-10 08:00:00")
// Calculate end time, from number of seconds required in the schedule
dc.calcDuration(3*24*3600); // 3 days
dc.calcRelativeDueDate(startTime, "3", "07:00:00");
DurationCalculator – calcRelativeDuration(String relativeDurationID)
Berechnet die Dauer mithilfe des angegebenen Skripts für die relative Dauer.
Nach Abschluss werden die Eigenschaften this.endDateTime und this.seconds festgelegt, um die Ergebnisse der Berechnung anzugeben.
| Name | Typ | Beschreibung |
|---|---|---|
| relativeDurationID | Zeichenfolge | sys_id des relativen Zeitplans (Tabelle „cmn_relative_duration“). |
| Typ | Beschreibung |
|---|---|
| Boolean | Das Ergebnis des Duration-Skripts. |
var dc = new DurationCalculator();
dc.calcRelativeDuration('08fcd0830a0a1b2600074f56b1ad7cb');
DurationCalculator – calcScheduleDuration(String startTime, String endTime)
Gibt die Dauer zwischen dem startTime und dem endTime innerhalb des bereits angegebenen Zeitplans und der optional überschriebenen Zeitzone zurück.
Diese Methode legt auch this.endDateTime, this.secondsund this.totalSeconds im aktuellen Zeitplanobjekt fest.
| Name | Typ | Beschreibung |
|---|---|---|
| startTime | Zeichenfolge | Optional. Anzeigewert für die Endzeit. Standard: Verwendet das aktuelle Datum und die aktuelle Uhrzeit (festgelegt mit setStartDateTime()). Sie müssen einen Platzhalter übergeben, wenn dieser Parameter nicht übergeben wurde, z. B. |
| endTime | Zeichenfolge | Optional. Anzeigewert für die Startzeit. Standard: Verwendet das aktuelle Datum und die aktuelle Uhrzeit (festgelegt mit setEndDateTime()). |
| Typ | Beschreibung |
|---|---|
| Nummer | Zeitplandauer. Gibt 0 zurück, wenn endTime vor startTimeliegt. Einheit: Sekunden |
var dur = new DurationCalculator();
// Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
dur.calcScheduleDuration("2019-01-02 11:00:00", "2019-01-06 09:00:00");
var secs = dur.getSeconds();
var totalSecs = dur.getTotalSeconds();
var endDateTime = dur.getEndDateTime() + "";
gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);
Ausgabe
***SCHEDULE DURATION: SECS=97200 TOTALSECS=338400 ENDTIME = 2019-01-06 09:00:00
DurationCalculator –calcScheduleDuration(GlideDateTime startTime, GlideDateTime endTime)
Gibt die Dauer zwischen dem startTime und dem endTime innerhalb des bereits angegebenen Zeitplans und der optional überschriebenen Zeitzone zurück.
Diese Methode legt auch this.endDateTime, this.secondsund this.totalSeconds im aktuellen Zeitplanobjekt fest.
| Name | Typ | Beschreibung |
|---|---|---|
| startTime | GlideDateTime | Optional. GlideDateTime-Objekt, das die zu verwendende Startzeit enthält. Standard: Verwendet das aktuelle Datum und die aktuelle Uhrzeit (festgelegt mit setStartDateTime()). Sie müssen einen Platzhalter übergeben, wenn dieser Parameter nicht übergeben wurde, z. B. |
| endTime | GlideDateTime | Optional. GlideDateTime-Objekt, das die zu verwendende Endzeit enthält. Standard: Verwendet das aktuelle Datum und die aktuelle Uhrzeit (festgelegt mit setEndDateTime()). |
| Typ | Beschreibung |
|---|---|
| Nummer | Zeitplandauer. Gibt 0 zurück, wenn endTime vor startTimeliegt. Einheit: Sekunden |
var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
// Instantiate a new GlideDateTime object which has the end date as the current date and time
var endDateTime = new GlideDateTime();
var dur = new DurationCalculator();
// Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
dur.calcScheduleDuration(startDateTime, endDateTime);
var secs = dur.getSeconds();
var totalSecs = dur.getTotalSeconds();
gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);
Ausgabe
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator – getEndDateTime()
Ruft die voncalcDuration/calcRelativeDurationfestgelegte Eigenschaft endDateTime ab und gibt das Enddatum und die Enduhrzeit für die Dauer an.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| GlideDateTime | Das Enddatum/die Endzeit. |
var dc = new DurationCalculator();
dc.calcDuration(52);
gs.print(dc.getEndDateTime());
2012-04-17 20:57:27
DurationCalculator – getSeconds()
Gibt die Eigenschaft this.seconds zurück, die durchcalcDuration/calcRelativeDuration festgelegtwurde und die Gesamtzahl der Sekunden der Arbeit angibt, die für die Dauer ausgeführt werden sollen.
Dies ist die Gesamtarbeitszeit, nicht die Gesamtzeit zwischen Start- und Endzeit, und kann zur Bestimmung von Prozentsätzen der Arbeitszeit verwendet werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zahl | Die Gesamtarbeitszeit in Sekunden. |
var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
// Instantiate a new GlideDateTime object which has the end date as the current date and time
var endDateTime = new GlideDateTime();
var dur = new DurationCalculator();
// Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
dur.calcScheduleDuration(startDateTime, endDateTime);
var secs = dur.getSeconds();
var totalSecs = dur.getTotalSeconds();
gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);
Ausgabe
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator – getTotalSeconds()
Gibt den Wert totalSeconds zurück, der durch einen Aufruf vonCalculation(record)festgelegt wurde.
Die Eigenschaft totalSeconds stellt die Gesamtanzahl der Sekunden zwischen der Start- und Endzeit der Dauer dar, die sowohl Arbeit als auch Nicht-Arbeit umfasst.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zahl | Die Gesamtanzahl der Sekunden. |
var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
// Instantiate a new GlideDateTime object which has the end date as the current date and time
var endDateTime = new GlideDateTime();
var dur = new DurationCalculator();
// Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
dur.calcScheduleDuration(startDateTime, endDateTime);
var secs = dur.getSeconds();
var totalSecs = dur.getTotalSeconds();
gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);
Ausgabe
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator – isAfter(GlideDateTime dt, String tm)
Vergleicht die übergebene Zeit mit dem Zeitwert im übergebenen GlideDateTime-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| dt | GlideDateTime oder Zeichenfolge | Entweder ein GlideDateTime-Objekt oder ein Anzeigewert (Datum und Uhrzeit) für den Vergleich mit dem in tm übergebenen Wert. Wenn Sie einen Anzeigewert für Datum und Uhrzeit übergeben, wird dieser von der Methode in ein GlideDateTime-Objekt konvertiert. |
| tm | Zeichenfolge | Anzeigewert für die Zeit zum Vergleich mit dem Zeitwert im GlideDateTime-Objekt. Geht von demselben Datum aus. Format: HH:mm:ss |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der übergebene Zeitwert (tm) nach der Uhrzeit im GlideDateTime-Objekt (dt) liegt. Mögliche Werte:
|
var dc = new DurationCalculator();
gs.print(dc.isAfter("2020-04-10 08:00:00", "09:00:00"));
*** Skript: true
DurationCalculator – setSchedule(String schedId, String timezone)
Legt den Zeitplan und die Zeitzone für die Berechnung des Fälligkeitsdatums fest.
| Name | Typ | Beschreibung |
|---|---|---|
| schedId | Zeichenfolge | Sys_id des festzulegenden Zeitplans. Befindet sich in der Zeitplantabelle [cmn_schedule]. |
| Feld | Zeichenfolge | Optional. Festzulegende Zeitzone. Standard: Zeitzone des Anwenders. |
| Typ | Beschreibung |
|---|---|
| void |
var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
// Instantiate a new GlideDateTime object which has the end date as the current date and time
var endDateTime = new GlideDateTime();
var dur = new DurationCalculator();
// Set 9-5 weekday schedule. This is the schedule in which endDateTime, seconds, and totalseconds is set
dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
dur.calcScheduleDuration(startDateTime, endDateTime);
var secs = dur.getSeconds();
var totalSecs = dur.getTotalSeconds();
gs.print("***SCHEDULE DURATION: SECS=" + secs + " TOTALSECS=" + totalSecs + " ENDTIME = " + endDateTime);
Ausgabe
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator – setStartDateTime(String start)
Legt Startdatum und -uhrzeit für Berechnungen der Dauer fest.
| Name | Typ | Beschreibung |
|---|---|---|
| start | Zeichenfolge | Anzeigewert für die Startzeit in GMT für nachfolgende Berechnungen. |
| Typ | Beschreibung |
|---|---|
| void |
var dc = new DurationCalculator();
dc.setStartDateTime("2020-04-10 08:00:00")
DurationCalculator – setStartDateTime(GlideDateTime description)
Legt Startdatum und -uhrzeit für Berechnungen der Dauer fest.
| Name | Typ | Beschreibung |
|---|---|---|
| description | GlideDateTime | GlideDateTime-Objekt, das die Startzeit in GMT für nachfolgende Berechnungen enthält. |
| Typ | Beschreibung |
|---|---|
| void |
var startDateTime = new GlideDateTime("2020-11-02 11:00:00");
var dur = new DurationCalculator();
// Set 9-5 weekday schedule.
dur.setSchedule('08fcd0830a0a0b2600079f56b1adb9ae');
dur.setStartDateTime(startDateTime);
DurationCalculator – setTimeZone(String timezone)
Legt die Zeitzone für die Berechnung des Fälligkeitsdatums fest.
| Name | Typ | Beschreibung |
|---|---|---|
| timezone | Zeichenfolge | Wert der Zeitzone. |
| Typ | Beschreibung |
|---|---|
| void |
var dc = new DurationCalculator();
dc.setTimeZone("Los Angeles");