DurationCalculator – Global
Die DurationCalculator- API bietet Methoden zum Berechnen von Dauer und Fälligkeitsdaten.
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. Vor dem Aufruf dieser Methode müssen Sie setStartDateTime() mit der Startzeit für die Berechnung aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| seconds | Nummer | Anzahl der Sekunden, die dem Startdatum und der Startzeit hinzugefügt werden, um die Werte für Enddatum und -zeit, Sekunden und Gesamtsekunden zu berechnen. |
| Typ | Beschreibung |
|---|---|
| Boolean | False, 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 festgelegt ist, an dem die Arbeit fällig ist, legt die Methode die Zeit auf den übergebenen Tag 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 anzuzeigen.
| 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 startTime und 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 wird, 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 startTime und 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 wird, 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 – DurationCalculator()
Konstruktor für DurationCalculator-Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
var dc = new DurationCalculator();
DurationCalculator – getEndDateTime()
Ruft die Eigenschaft endDateTime ab, die von calcDuration/calcRelativeDuration festgelegtwurde, und gibt das Enddatum und die Endzeit 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 von calcDuration/calcRelativeDuration festgelegtwurde, und gibt die Gesamtzahl der Sekunden an, die für die Dauer ausgeführt werden müssen.
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 von calculate(record)festgelegt wurde.
| 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 String | Entweder ein GlideDateTime-Objekt oder ein Anzeigewert (Datum und Uhrzeit) zum Vergleich mit dem übergebenen Wert tm. Wenn Sie Datum und Uhrzeit eines Anzeigewerts übergeben, konvertiert die Methode ihn in ein GlideDateTime-Objekt. |
| tm | Zeichenfolge | Anzeigewert für die Zeit, der mit dem Zeitwert im GlideDateTime-Objekt verglichen werden soll. Nimmt dasselbe Datum an. Format: HH:mm:ss |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der übergebene Zeitwert (tm) nach der Zeit 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. Zeitzone, die festgelegt werden soll. Standard: Zeitzone des Benutzers. |
| 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 das Startdatum und die Startzeit für die Dauerberechnungen 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 das Startdatum und die Startzeit für die Dauerberechnungen 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");