Calculateur de durée : global
L’include de script DurationCalculator fournit des méthodes de calcul des durées et des dates d’échéance.
DurationCalculator : DurationCalculator( )
Constructeur de la classe DurationCalculator .
| Nom | Type | Description |
|---|---|---|
| Aucun |
var dc = new DurationCalculator();
DurationCalculator : calcDuration(Nombre de secondes)
Calcule une date et une heure de fin basées sur la date et l’heure de début actuelles et la durée transmise (en secondes).
Cette méthode définit également les this.endDateTimepropriétés , this.seconds, et this.totalSeconds avec les valeurs mises à jour. La seconds propriété représente le nombre total de secondes de travail à effectuer dans la durée basée sur le calendrier de travail. La totalSeconds propriété représente le nombre total de secondes entre les heures de début et de fin de la durée, qui inclut à la fois le travail et les heures hors travail.
Avant d’appeler cette méthode, vous devez appeler setStartDateTime() avec l’heure de début à utiliser pour la durée.
| Nom | Type | Description |
|---|---|---|
| secondes | Numéro | Nombre de secondes à ajouter à la date et à l’heure de début pour calculer les valeurs date et heure de fin, secondes et nombre total de secondes. |
| Type | Description |
|---|---|
| Booléen | False si la valeur entrée n’est pas un nombre. |
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);
Sortie
***SCHEDULE DURATION: SECS=172800 TOTALSECS=970534 ENDTIME = 2020-05-03 00:00:00
DurationCalculator : calcRelativeDueDate(GlideDateTime start, Number days, String endTime)
Calcule la date d’échéance à partir de l’heure de début transmise et en ajoutant le nombre de jours à l’aide du calendrier et du fuseau horaire actuels.
Appelé à partir des définitions de durée relative, initiées par calcRelativeDuration(), en tant que calculator.calcRelativeDueDate(calculator.startDateTime, days). Une fois que le jour d’échéance du travail est déterminé, la méthode définit l’heure du jour passé endTime . S’il ne reste pas assez de jours dans le calendrier, utilise le dernier jour du calendrier.
| Nom | Type | Description |
|---|---|---|
| début | GlideDateTime | GlideDateTime qui contient la date de début du calcul. |
| jours | Numéro | Nombre de jours à ajouter à la date de début. |
| endTime | Chaîne | Heure de la journée à laquelle le travail est dû à la date d’échéance calculée. Si le champ n’est pas renseigné, la fin de la journée de travail est définie par défaut. Format : HH :mm :ss |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la date d’achèvement figure dans le calendrier. Valeurs possibles :
|
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)
Calcule la durée à l’aide du script de durée relative spécifié.
Une fois l’opération terminée, les this.endDateTime propriétés et this.seconds sont définies pour indiquer les résultats du calcul.
| Nom | Type | Description |
|---|---|---|
| relativeDurationID | Chaîne | sys_id du calendrier de durée relative (tableau cmn_relative_duration). |
| Type | Description |
|---|---|
| Booléen | Résultat du script de durée. |
var dc = new DurationCalculator();
dc.calcRelativeDuration('08fcd0830a0a1b2600074f56b1ad7cb');
DurationCalculator : calcScheduleDuration(String startTime, String endTime)
Renvoie la durée entre le startTime et le endTime dans le cadre du calendrier déjà spécifié et du fuseau horaire éventuellement remplacé.
Cette méthode définit this.endDateTimeégalement , this.secondset this.totalSeconds dans l’objet de calendrier actuel.
| Nom | Type | Description |
|---|---|---|
| startTime | Chaîne | Facultatif. Valeur d’affichage de l’heure de fin. Par défaut : utilise la date et l’heure actuelles (définies à l’aide de setStartDateTime()). Vous devez transmettre un espace réservé si ce paramètre n’est pas transmis, tel que |
| endTime | Chaîne | Facultatif. Valeur d’affichage de l’heure de début. Par défaut : utilise la date et l’heure actuelles (définies à l’aide de setEndDateTime()). |
| Type | Description |
|---|---|
| Numéro | Durée du calendrier. Renvoie 0 si endTime la valeur est antérieure startTimeà . Unité : Secondes |
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);
Sortie
***SCHEDULE DURATION: SECS=97200 TOTALSECS=338400 ENDTIME = 2019-01-06 09:00:00
DurationCalculator : calcScheduleDuration(GlideDateTime, startTime, GlideDateTime, endTime)
Renvoie la durée entre le startTime et le endTime dans le cadre du calendrier déjà spécifié et du fuseau horaire éventuellement remplacé.
Cette méthode définit this.endDateTimeégalement , this.secondset this.totalSeconds dans l’objet de calendrier actuel.
| Nom | Type | Description |
|---|---|---|
| startTime | GlideDateTime | Facultatif. Objet GlideDateTime qui contient l’heure de début à utiliser. Par défaut : utilise la date et l’heure actuelles (définies à l’aide de setStartDateTime()). Vous devez transmettre un espace réservé si ce paramètre n’est pas transmis, tel que |
| endTime | GlideDateTime | Facultatif. GlideDateTime qui contient l’heure de fin à utiliser. Par défaut : utilise la date et l’heure actuelles (définies à l’aide de setEndDateTime()). |
| Type | Description |
|---|---|
| Numéro | Durée du calendrier. Renvoie 0 si endTime la valeur est antérieure startTimeà . Unité : Secondes |
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);
Sortie
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator : getEndDateTime( )
Obtient la endDateTime propriété définie par calcDuration/calcRelativeDuration, indiquant la date et l’heure de fin de la durée.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| GlideDateTime | La date/l’heure de fin. |
var dc = new DurationCalculator();
dc.calcDuration(52);
gs.print(dc.getEndDateTime());
2012-04-17 20:57:27
DurationCalculator : getSeconds( )
Renvoie la this.seconds propriété définie par calcDuration/calcRelativeDuration, indiquant le nombre total de secondes de travail à effectuer pour la durée.
Il s’agit du temps de travail total, et non du temps total entre les heures de début et de fin. Il peut être utilisé pour déterminer des pourcentages du temps de travail.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Le temps de travail total, en secondes. |
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);
Sortie
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator : getTotalSeconds( )
Renvoie la totalSeconds valeur définie par un appel à calculate(record).
La totalSeconds propriété représente le nombre total de secondes entre les heures de début et de fin de la durée, qui inclut à la fois le travail et les heures hors travail.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Nombre total de secondes. |
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);
Sortie
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator : isAfter(GlideDateTime dt, chaîne tm)
Compare l’heure d’entrée à la valeur d’heure de l’objet GlideDateTime transmis.
| Nom | Type | Description |
|---|---|---|
| Dt | GlideDateTime ou chaîne | Il s’agit soit d’un objet GlideDateTime, soit d’une date et d’une heure de valeur d’affichage à comparer à la valeur transmise tm . Si vous transmettez une valeur d’affichage date et heure, la méthode la convertit en objet GlideDateTime. |
| Tm | Chaîne | Affichez la valeur de l’heure à comparer à la valeur de l’heure dans l’objet GlideDateTime. Suppose la même date. Format : HH :mm :ss |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la valeur d’heure transmise (tm) est postérieure à l’heure de l’objet GlideDateTime (dt). Valeurs possibles :
|
var dc = new DurationCalculator();
gs.print(dc.isAfter("2020-04-10 08:00:00", "09:00:00"));
Script : vrai
DurationCalculator : setSchedule(String, schedId, String, fuseau horaire)
Définit le calendrier et le fuseau horaire à utiliser pour calculer la date d’échéance.
| Nom | Type | Description |
|---|---|---|
| schedId | Chaîne | Sys_id du calendrier à définir. Situé dans la table Calendrier [cmn_schedule]. |
| fuseau horaire | Chaîne | Facultatif. Fuseau horaire à définir. Par défaut : fuseau horaire de l’utilisateur. |
| Type | Description |
|---|---|
| nul |
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);
Sortie
***SCHEDULE DURATION: SECS=293734.24 TOTALSECS=970534 ENDTIME = 2020-11-13 16:35:34
DurationCalculator : setStartDateTime(début de chaîne)
Définit la date et l’heure de début des calculs de durée.
| Nom | Type | Description |
|---|---|---|
| début | Chaîne | Valeur d’affichage de l’heure de début au format GMT pour les calculs ultérieurs. |
| Type | Description |
|---|---|
| nul |
var dc = new DurationCalculator();
dc.setStartDateTime("2020-04-10 08:00:00")
DurationCalculator : setStartDateTime(description GlideDateTime)
Définit la date et l’heure de début des calculs de durée.
| Nom | Type | Description |
|---|---|---|
| description | GlideDateTime | GlideDateTime qui contient l’heure de début en GMT pour les calculs ultérieurs. |
| Type | Description |
|---|---|
| nul |
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 fuseau horaire)
Définit le fuseau horaire à utiliser pour calculer la date d’échéance.
| Nom | Type | Description |
|---|---|---|
| fuseau horaire | Chaîne | Valeur du fuseau horaire. |
| Type | Description |
|---|---|
| nul |
var dc = new DurationCalculator();
dc.setTimeZone("Los Angeles");