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.
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_IFSpé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.
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.
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_VARSpé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
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_VARSpé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.
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_VARSpé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.
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_VARPour plus d'informations, consultez : Type de données : DATE