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