DurationCalculator – Global
Die DurationCalculator Die Skripteinbindung bietet Methoden zur Berechnung von Dauer 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 Dauer (Sekunden).
Diese Methode legt auch fest this.endDateTime, this.seconds, Und this.totalSecondsEigenschaften mit den aktualisierten Werten. Die secondsDie Eigenschaft stellt die Gesamtzahl der Sekunden der Arbeit dar, die in der Dauer basierend auf dem Arbeitszeitplan ausgeführt werden soll. Die totalSecondsDie Eigenschaft stellt die Gesamtzahl der Sekunden zwischen den Start- und Endzeiten der Dauer dar, einschließlich Arbeit und nicht-Arbeit.
Bevor Sie diese Methode aufrufen, müssen Sie anrufen SetStartDateTime() Mit der Startzeit, die für die Dauer verwendet werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| seconds | Anzahl | Anzahl der Sekunden, die dem Startdatum und der Startzeit hinzugefügt werden sollen, um die Werte für Enddatum und -Uhrzeit, Sekunden und Gesamtseitenwerte 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, das bei der Startzeit „Übergegeben in“ beginnt, und addiert die Anzahl der Tage anhand 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 Zeit auf die übergebene fest endTimeDes Tages. 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 | Anzahl | Anzahl der Tage, die dem Startdatum hinzugefügt werden sollen. |
| endTime | Zeichenfolge | Tageszeit, 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 wird this.endDateTimeUnd this.secondsEigenschaften werden 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 zurück startTimeUnd endTimeInnerhalb des bereits angegebenen Zeitplans und der optional überschriebenen Zeitzone.
Diese Methode legt auch fest this.endDateTime, this.seconds, Und this.totalSecondsIm aktuellen Zeitplanobjekt.
| 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 |
|---|---|
| Anzahl | Zeitplandauer. Gibt 0 wenn zurück endTimeIst vor startTime. 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 zurück startTimeUnd endTimeInnerhalb des bereits angegebenen Zeitplans und der optional überschriebenen Zeitzone.
Diese Methode legt auch fest this.endDateTime, this.seconds, Und this.totalSecondsIm aktuellen Zeitplanobjekt.
| 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 |
|---|---|
| Anzahl | Zeitplandauer. Gibt 0 wenn zurück endTimeIst vor startTime. 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 ab endDateTimeEigenschaft, die von festgelegt wurde Berechnungsdauer / KalkRelativeDauer , 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 zurück this.secondsEigenschaft, die von festgelegt wurde Berechnungsdauer / KalkRelativeDauer , Gibt die Gesamtzahl der Sekunden der Arbeit an, die für die Dauer ausgeführt werden soll.
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 zurück totalSecondsWert, der von einem Aufruf an festgelegt wurde Berechnen (Datensatz) .
Die totalSecondsDie Eigenschaft stellt die Gesamtzahl der Sekunden zwischen den Start- und Endzeiten der Dauer dar, einschließlich Arbeit und nicht-Arbeit.
| 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 in der Zeit übergebene Zeit mit dem Zeitwert im übergebenen GlideDateTime-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| dt | GlideDateTime oder Zeichenfolge | Entweder ein GlideDateTime-Objekt oder ein Datum und Uhrzeit des Anzeigewerts, der mit dem übergebenen verglichen werden soll tmWert. Wenn Sie ein Datum und eine Uhrzeit eines Anzeigewerts übergeben, konvertiert die Methode es in ein GlideDateTime-Objekt. |
| tm | Zeichenfolge | Anzeigewert für die Zeit, die mit dem Zeitwert im GlideDateTime-Objekt verglichen werden soll. Geht von demselben Datum aus. Format: HH:mm:ss |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der übergebene Zeitwert ( tm) Liegt nach der Zeit im GlideDateTime-Objekt ( dt). 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. Tabelle: Zeitplan [cmn_schedule]. |
| Feld | Zeichenfolge | Optional. Zeitzone, die festgelegt werden soll. Standard: Zeitzone des Anwenders. |
| Typ | Beschreibung |
|---|---|
| void |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
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 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- Beschreibung)
Legt das Startdatum und die Startzeit für die 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");