Fonctions de manipulation d'horodates dans les expressions
Les fonctions suivantes sont conçues pour faire des conversions d'horodates et sont principalement utilisées avec le driver Variables Sql.
Paramètres communs
| Paramètre | Description |
| Kind |
Type d'horodate, l'une des constantes prédéfinies TS_Utc ou TS_Local. |
| Format |
Type: String. Chaîne de formatage de l'horodate. Année: YY or YYYY. Mois: MM. Jour: DD. Heure: HH. Minutes: mm. Secondes: ss. Millisecondes: fff, ff ou f. Z; Indique si l'heure est en UTC ou en Local. #: Permet d'ignorer certains éléments de l'horodate. |
| TS |
Type: Double. Une horodate exprimée sous la forme du nombre de millisecondes depuis le 1er Janvier 1970 à 00:00:00.000, tel qu'utilisé avec l'instruction SCADABasic DATETIMEVALUE. |
Fonctions
| Fonction et syntaxe | Opération |
| StrToTs(Str, Kind, Format) |
Renvoie l'horodate Str sous la forme d'un double. Exemple 1: StrToTS('2020-04-14T17:06:26.423Z', TS_Utc, 'YYYY-MM-DDTHH:mm:ss.fffZ') = 1586883986423 Exemple 2: StrToTS('2020-04-14T17:06:26.423Z', TS_Local, 'YYYY-MM-DDT##:##:##.###Z') = 1586876786423 En ne prenant que la date et en ignorant l'heure. |
| StrToFileTimeUtc(Str) | Renvoie l'horodate Str sous la forme d'un FileTime UTC. Exemple: StrToFiletimeUtc('2019-10-29T16:14:40.284Z') = 132168392802840000 |
| TSToStr(TS, Kind [, Format]) |
Renvoie l'horodate TS sous la forme d'une chaîne de caractères. Si Format est omis, alors le format par défaut YYYY-MM-DDTHH:mm:ss.fffZ est utilisé. En plus des caractères de formatage habituels: Si Format est 'DATE' alors le format YYYY-MM-DD est utilisé. Si Format est 'TIME' alors le format HH:mm:ss.fffZ est utilisé. Exemple 1: TsToStr(1586883986789, TS_Utc) = '2020-04-14T17:06:26.789Z' Exemple 2: TsToStr(1586883986789, TS_Utc, 'Date') = '2020-04-14' |
| TSToOADate(TS, Kind) |
Renvoie l'horodate TS sous la forme d'un OLE Automation date. Exemple: TSToOADate(1586883986423, TS_Utc) = 637224807864230000 |
| OADateToTS(Date, Kind) |
Renvoie l'horodate OLE Automation date sous la forme d'un TS. Date est de type Double. Exemple: OADateToTS(637224807864230000, TS_Utc) = 1586883986423 |
| TSToFileTime(TS) |
Renvoie l'horodate TS sous la forme d'un FileTime. Exemple: TSToFileTime(1586883986423) = 132313575864230000 |
| FileTimeToTS(FileTime) |
Renvoie l'horodate FileTime sous la forme d'un TS. Exemple: FileTimeToTS(132313575864230000) = 1586883986423 |
| TSToPosixTime(TS) | Renvoie une horodate Posix à partir d'un TS. |
| PosixTimeToTS(PosixTime) | Renvoie un TS à partir d'une horodate Posix. |
| TsGetYears(TS, Kind) |
Renvoie l'année de TS. Exemple: TSGetYears(1586883986423, TS_Utc) = 2020 |
| TsGetMonths(TS, Kind) |
Renvoie le mois de TS. Exemple: TSGetMonths(1586883986423, TS_Utc) = 4 |
| TsGetDays(TS, Kind) |
Renvoie le jour de TS. Exemple: TSGetDays(1586883986423, TS_Utc) = 14 |
| TsGetHours(TS, Kind) |
Renvoie les heures de TS. Exemple: TSGetHours(1586883986423, TS_Utc) = 17 |
| TsGetMinutes(TS, Kind) |
Renvoie les minutes de TS. Exemple: TSGetMinutes(1586883986423, TS_Utc) = 6 |
| TsGetSeconds(TS, Kind) |
Renvoie les secondes de TS. Exemple: TSGetSeconds(1586883986423, TS_Utc) = 26 |
| TsGetMilliseconds(TS, Kind) |
Renvoie les millisecondes de TS. Exemple: TSGetMilliseconds(1586883986423, TS_Utc) = 423 |
| TsAddYears(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre d'années Number. Number peut être positif ou négatif. Exemple: TSAddYears(1586883986423, TS_Utc, 2) = 1649955986423 |
| TsAddMonths(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre de mois Number. Number peut être positif ou négatif. Exemple: TSAddMonths(1586883986423, TS_Utc, 2) = 1592154386423 |
| TsAddDays(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre de jours Number. Number peut être positif ou négatif. Exemple: TSAddDays(1586883986423, TS_Utc, 2) = 1587056786423 |
| TsAddHours(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre d'heures Number. Number peut être positif ou négatif. Exemple: TSAddHours(1586883986423, TS_Utc, 2) = 1586891186423 |
| TsAddMinutes(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre de minutes Number. Number peut être positif ou négatif. Exemple: TSAddMinutes(1586883986423, TS_Utc, 2) = 1586884106423 |
| TsAddSeconds(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre de secondes Number. Number peut être positif ou négatif. Exemple: TSAddSeconds(1586883986423, TS_Utc, 2) = 1586883988423 |
| TsAddMilliseconds(TS, Kind, Number) |
Renvoie TS en lui ajoutant le nombre de millisecondes Number. Number peut être positif ou négatif. Exemple: TSAddMilliseconds(1586883986423, TS_Utc, 2) = 1586883986425 |
| TsUtcToLocal (TS) |
Renvoie l'horodate locale qui correspond à l'horodate UTC passée en paramètre. Exemple: TSUtcToLocal(1586883986423) = 1586891186423 |
| TsLocalToUtc (TS) |
Renvoie l'horodate UTC qui correspond à l'horodate locale passée en paramètre. Exemple: TSLocalToUtc(1586891186423) = 1586883986423 |
| TsNow (Kind) | Renvoie l'horodate au moment où l'expression est calculée. Kind peut être TS_Utc ou TS_Local. Exemple: TsNow(TS_Utc) = 1586883986425 |