Skip to main content

Constante : Date et Heure

Spécification de date 32 bits : DATE

Utilisez le DATE mot-clé (D) pour spécifier une date.

Syntaxe

<date keyword>#<year>-<month>-<day>

<date keyword> : DATE | date | D | d
<year> : 1970-2106
<month> : 1-12
<day> : 1-31

DATE les littéraux sont traités en interne comme type de données DWORD, ce qui correspond à une limite supérieure de DATE#2106-2-7.

Exemple 187. Exemple
PROGRAM PRG_Date
VAR
        dateStart : DATE := DATE#2018-8-8;
        dateEnd : DATE := D#2018-8-31;
        dateCompare: DATE := date#1996-05-06;
        xIsDuringTheTime: BOOL;

        dateEarliest : DATE := d#1970-1-1; // = 0
        dateLatest : DATE := DATE#2106-2-7; // = 4294967295
END_VAR

IF dateStart < dateCompare THEN
        IF dateCompare < dateEnd THEN
                xIsDuringTheTime := TRUE;
        END_IF;
END_IF


Spécification de date 64 bits : LDATE

Utilisez le LDATE mot-clé (LD) pour spécifier une date.

Syntaxe

<date keyword>#<year>-<month>-<day>

<date keyword> : LDATE | ldate | LD | ld
<year> : 1677-2262
<month> : 1-12
<day> : 1-31

LDATE les littéraux sont traités en interne comme type de données LWORD, ce qui correspond à une limite supérieure de DATE#2554-7-21.

Exemple 188. Exemple
PROGRAM PRG_Ldate
VAR
        ldateStart : LDATE := LDATE#2018-8-8;
        ldateEnd : LDATE := ldate#2018-8-31;
        ldateCompare: LDATE := LD#1996-05-06;
        xIsDuringTheTime: BOOL;

        ldateEarliest : LDATE := ld#1677-9-22; // = 0
        ldateLatest : LDATE := LDATE#2262-4-11; // = 16#7FFFB21D1DB10000

        lwValue: LWORD;
END_VAR

IF ldateStart < ldateCompare THEN
        IF ldateCompare < ldateEnd THEN
                xIsDuringTheTime := TRUE;
        END_IF;
END_IF
lwValue := LDATE_TO_LWORD(ldateCompare);


Spécification de date et d'heure 32 bits : DATE_AND_TIME

Utilisez le DATE_AND_TIME mot-clé (DT) pour spécifier une date et une heure.

Syntaxe

<date and time keyword>#<date and time value>

<date and time keyword> : DATE_AND_TIME | date_and_time | DT | dt
<date and time value> : <year>-<month>-<day>-<hour>:<minute>:<second>
<year> : 1970-2106
<month> : 1-12
<day> : 1-31
<hour> : 0-24
<minute> : 0-59
<second> : 0-59

DATE_AND_TIME les littéraux sont traités en interne comme type de données DWORD. L'heure est traitée en secondes et peut donc prendre des valeurs du 1er janvier 1970 00:00 au 7 février 2106 06:28:15.

Exemple 189. Exemple
PROGRAM PLC_PRG
VAR
        dtDate : DATE_AND_TIME := DATE_AND_TIME#1996-05-06-15:36:30;
        dtDate1: DATE_AND_TIME := DT#1972-03-29-00:00:00;
        dtDate2: DATE_AND_TIME := DT#2018-08-08-13:33:20.5;

        dtEarliest : DATE_AND_TIME := DATE_AND_TIME#1970-1-1-00:00:00; // 0
        dtLatest : DATE_AND_TIME := DATE_AND_TIME#2106-2-7-6:28:15; // 4294967295
END_VAR


Spécifications de date et d'heure 64 bits : LDATE_AND_TIME

Utilisez le LDATE_AND_TIME mot-clé (LDT) pour spécifier une date et une heure.

Syntaxe

<date and time keyword>#<long date and time value>

<date and time keyword> : LDATE_AND_TIME | ldate_and_time | LDT | ldt
<date and time value> : <year>-<month>-<day>-<hour>:<minute>:<second>
<year> : 1677-2262
<month> : 1-12
<day> : 1-31
<hour> : 0-24
<minute> : 0-59
<second> : 0-59

LDATE_AND_TIME#2262-4-10-23:59:59.99999999

LDATE_AND_TIME les littéraux sont traités en interne comme des types de données LWORD. Le temps est traité en nanosecondes et peut donc avoir des valeurs allant du 21 septembre 1677 00:12:43.145 224192 au 11 avril 2262 23:47:16.854 775807

Exemple 190. Exemple
PROGRAM PLC_PRG
VAR
        ldtDate : LDATE_AND_TIME := LDATE_AND_TIME#1996-05-06-15:36:30;
        ldtDate1: LDATE_AND_TIME := LDT#1972-03-29-00:00:00;
        ldtDate2: LDATE_AND_TIME := LDT#2018-08-08-13:33:20.5;

        dtEarliest : LDT := LDT#1677-9-21-0:12:43.145224192; // 0
        dtLatest : LDT := LDT#2262-4-11-23:47:16.854775807; // = 16#7FFFFFFFFFFFFFFF
END_VAR


Spécification de l'heure 32 bits : TIME_OF_DAY

Utilisez le TIME_OF_DAY mot-clé (TOD) pour spécifier une heure.

Syntaxe

<time keyword>#<time value>

<time keyword> : TIME_OF_DAY | time_of_day | TOD | tod
<time value> : <hour>:<minute>:<second>
<hour> : 0-23
<minute> : 0-59
<second> : 0.000-59.999

Vous pouvez également spécifier des fractions de seconde. TIME_OF_DAY les littéraux sont traités en interne comme DWORD et la valeur est résolue en millisecondes.

Exemple 191. Exemples
PROGRAM POU
VAR
        todClockTime : TIME_OF_DAY :=  TIME_OF_DAY#15:36:30.123;
        todEarliest : TIME_OF_DAY := TIME_OF_DAY#0:0:0.000;
        todLatest : TOD := TOD#23:59:59.999;
END_VAR


Spécification de l'heure 64 bits : LTIME_OF_DAY

Utilisez le LTIME_OF_DAY mot-clé (LTOD) pour spécifier une heure.

Syntaxe

<time keyword>#<time value>

<time keyword> : LTIME_OF_DAY | ltime_of_day | LTOD | ltod
<time value> : <hour>:<minute>:<second>
<hour> : 0-23
<minute> : 0-59
<second> : 0.000-59.999999999

Vous pouvez également spécifier des fractions de seconde. LTIME_OF_DAY les littéraux sont traités en interne comme LWORD et la valeur est résolue en nanosecondes.

Exemple 192. Exemples
PROGRAM POU
VAR
        ltodClockTime : LTIME_OF_DAY :=  TIME_OF_DAY#15:36:30.123456789;
        todEarliest : TIME_OF_DAY := TIME_OF_DAY#0:0:0;
        todLatest : TOD := TOD#23:59:59.999999999;
END_VAR


Pour plus d'informations, consultez : Type de données : DATE