The data types for data and time DATE, DATE_AND_TIME (DT), and TIME_OF_DAY (TOD) are handled internally as a DWORD (32-bit value).
The data types LDATE, LDATE_AND_TIME (LDT), and LTIME_OF_DAY (LTOD) are treated internally as an LWORD (64-bit value).
|
Data Type |
Lower Limit |
Default |
Upper Limit |
Memory |
Resolution |
Description |
|---|---|---|---|---|---|---|
|
DATE |
D#1970-01-01 |
D#2106-02-07 |
32-bit |
Seconds (although only the day is displayed) |
Syntax: DATE#yyyy-MM-dd Syntax: D#yyyy-MM-dd |
|
|
DATE_AND_TIME DT |
DT#1970-1-1-0:0:0 |
DT#2106-2-7-6:28:15 |
32-bit |
Seconds |
Syntax: DATE_AND_TIME#yyyy-MM-dd-hh:mm:ss Syntax: DT#yyyy-MM-dd-hh:mm:ss |
|
|
TIME_OF_DAY TOD |
TOD#0:0:0 |
TOD#23:59:59.999 |
32-bit |
Milliseconds |
Syntax: TIME_OF_DAY#hh:mm:ss Syntax: TOD#hh:mm:ss.sss |
|
|
LDATE |
LD#1677-9-22 |
LD#1970-01-01 |
LDATE#2262-4-11 |
64 bit |
Nanoseconds (although only the day is displayed) |
Syntax: LDATE#yyyy-MM-dd |
|
LDATE_AND_TIME LDT |
LDT#1677-9-21-0:12:43.145224192 |
LDT#1970-1-1-0:0:0 |
LDT#2262-4-11-23:47:16.854775807 |
64 bit |
Nanoseconds |
Syntax: LDATE_AND_TIME##yyyy-MM-dd-hh:mm:ss.sssssssss Syntax: LDT##yyyy-MM-dd-hh:mm:ss.sssssssss |
|
LTIME_OF_DAY LTOD |
LTOD##0:0:0 |
LTOD#23:59:59.999999999 |
64 bit |
Nanoseconds |
Syntax: LTIME_OF_DAY#hh:mm:ss.sssssssss Syntax: LTOD#hh:mm:ss.sssssssss |
Example:
VAR
//Date
dateBottom : DATE := DATE#1970-1-1;
dateTop : DATE := DATE#2106-2-7;
dateAppointment : DATE := D#2020-2-7; // D as data type prohibited
//Date and time
dtBottom : DATE_AND_TIME := DATE_AND_TIME#1970-1-1-0:0:0;
dtTop : DT := DATE_AND_TIME#2106-02-07-06:28:15;
dtAppointment : DT := DT#2020-2-7-12:55:1.234;
//Time of day
todBottom : TIME_OF_DAY := TIME_OF_DAY#0:0:0;
todTop : TOD := TIME_OF_DAY#23:59:59.999;
todAppointment : TOD := TOD#12:3:4.567;
// Long date
ldateBottom : LDATE := LDATE#1970-1-1;
ldateTop : LDATE := LDATE#2106-2-7;
ldateAppointment : LDATE := LD#2020-2-7; // LD as data typ prohibited
// Long date and time
ldtBottom : LDATE_AND_TIME := LDATE_AND_TIME#1970-1-1-0:0:0;
ldtTop : LDT := LDATE_AND_TIME#2262-4-10-23:34:33.709551615;
ldtAppointment : LDT := LDT#2020-2-7-12:55:1.234567891;
//Long time of day
ltodBottom : LTIME_OF_DAY := LTIME_OF_DAY#0:0:0;
ltodTop : LTOD := LTIME_OF_DAY#23:59:59.999999999 ;
ltodAppointment : LTOD := LTOD#12:3:4.567890123;
END_VAR