DurationCalculator – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 8 Minuten Lesedauer
  • Die DurationCalculator Die Skripteinbindung bietet Methoden zur Berechnung von Dauer und Fälligkeitsdaten.

    DurationCalculator – DurationCalculator()

    Konstruktor für DurationCalculator-Klasse.

    Tabelle : 1. Parameter
    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.

    Tabelle : 2. Parameter
    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.
    Tabelle : 3. Rückgaben
    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.

    Tabelle : 4. Parameter
    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

    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das Abschlussdatum innerhalb des Zeitplans liegt.
    Mögliche Werte:
    • Wahr: Das Abschlussdatum liegt innerhalb des Zeitplans.
    • Falsch: Das Abschlussdatum liegt außerhalb des Zeitplans. Nicht definiert, wenn vor dem Aufruf dieser Methode kein Zeitplan festgelegt wurde.
    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.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    relativeDurationID Zeichenfolge sys_id des relativen Zeitplans (Tabelle „cmn_relative_duration“).
    Tabelle : 7. Rückgaben
    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.

    Tabelle : 8. Parameter
    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. dur.calcScheduleDuration("", endDateTime); .

    endTime Zeichenfolge Optional. Anzeigewert für die Startzeit.

    Standard: Verwendet das aktuelle Datum und die aktuelle Uhrzeit (festgelegt mit SetEndDateTime() ).

    Tabelle : 9. Rückgaben
    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.

    Tabelle : 10. Parameter
    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. dur.calcScheduleDuration("", endDateTime); .

    endTime GlideDateTime Optional. GlideDateTime-Objekt, das die zu verwendende Endzeit enthält.

    Standard: Verwendet das aktuelle Datum und die aktuelle Uhrzeit (festgelegt mit SetEndDateTime() ).

    Tabelle : 11. Rückgaben
    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.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    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.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 15. Ergebnisse
    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.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 17. Ergebnisse
    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.

    Tabelle : 18. Parameter
    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

    Tabelle : 19. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob der übergebene Zeitwert ( tm) Liegt nach der Zeit im GlideDateTime-Objekt ( dt).
    Mögliche Werte:
    • Wahr: tmIst nach dt.
    • Falsch tmIst nicht nach dt.
    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.

    Tabelle : 20. Parameter
    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.

    Tabelle : 21. Rückgaben
    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.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    start Zeichenfolge Anzeigewert für die Startzeit in GMT für nachfolgende Berechnungen.
    Tabelle : 23. Rückgaben
    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.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    description GlideDateTime GlideDateTime-Objekt, das die Startzeit in GMT für nachfolgende Berechnungen enthält.
    Tabelle : 25. Rückgaben
    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.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    timezone Zeichenfolge Wert der Zeitzone.
    Tabelle : 27. Ergebnisse
    Typ Beschreibung
    void
    var dc = new DurationCalculator();
    dc.setTimeZone("Los Angeles");