Date and time data types
The DATE, DATE_AND_TIME (DT) and TIME_OF_DAY (TOD) data types are handled internally like a UDINT (32-bit value).
Data type | Lower limit | Upper limit | Storage space | Resolution | Syntax |
|---|---|---|---|---|---|
DATE | D#1970-01-01 | D#2106-02-07 | 32-bit | Seconds, although only the day is displayed. | DATE#yyyy-MM-dd D#yyyy-MM-dd |
DATE_AND_TIME | DT#1970-1-1-0:0:0 | DT#2106-02-07-06:28:15 | 32-bit | Seconds | DATE_AND_TIME#yyyy-MM-dd-hh:mm:ss DT#yyyy-MM-dd-hh:mm:ss |
TIME_OF_DAY | TOD#0:0:0 | TOD#23:59:59.999 | 32-bit | Milliseconds | TIME_OF_DAY#hh:mm:ss TOD#hh:mm:ss.sss |
The LDATE, LDATE_AND_TIME (LDT) and LTIME_OF_DAY (LTOD) data types are handled internally, like a ULINT (64-bit value).
Data type | Lower limit | Upper limit | Storage space | Resolution | Syntax |
|---|---|---|---|---|---|
LDATE | LD#1677-9-22 Default: | LD#2262-4-11 | 64-bit | Nanoseconds, although only the day is displayed. | LDATE#yyyy-MM-dd LD#yyyy-MM-dd |
LDATE_AND_TIME | LDT#1677-9-21-0:12:43.145224192 Default: | LDT#2262-4-11-23:47:16.854775807 | 64-bit | Nanoseconds | LDATE_AND_TIME##yyyy-MM-dd-hh:mm:ss.sssssssss LDT##yyyy-MM-dd-hh:mm:ss.sssssssss
|
LTIME_OF_DAY | LTOD#0:0:0 | LTOD#23:59:59.999999999 | 64-bit | Nanoseconds | LTIME_OF_DAY#hh:mm:ss.sssssssss LTOD#hh:mm:ss.sssssssss |
![]() | Requirements For the data types LDATE, LDATE_AND_TIME (LDT) and LTIME_OF_DAY (LTOD) TwinCAT version 3.1.4026.0 or later is required. |
Samples:
VAR
// Date
dLowerLimit : DATE := DATE#1970-1-1;
dUpperLimit : DATE := DATE#2106-2-7;
dAppointment : DATE := D#2026-2-7;
// Date and time
dtLowerLimit : DATE_AND_TIME := DATE_AND_TIME#1970-1-1-0:0:0;
dtUpperLimit : DATE_AND_TIME := DATE_AND_TIME#2106-02-07-06:28:15;
dtAppointment : DT := DT#2026-2-7-12:55:1;
// Time of day
tdLowerLimit : TIME_OF_DAY := TIME_OF_DAY#0:0:0;
tdUpperLimit : TIME_OF_DAY := TIME_OF_DAY#23:59:59.999;
tdAppointment : TOD := TOD#12:3:4.567;
// Long date
dLowerLimit : LDATE := LDATE#1677-9-22;
dDefault : LDATE := LDATE#1970-1-1;
dUpperLimit : LDATE := LDATE#2262-4-11;
dAppointment : LDATE := LD#2026-2-7;
// Long date and time
dtLowerLimit : LDATE_AND_TIME := LDATE_AND_TIME#1677-9-21-0:12:43.145224192; // ULINT#16#8000000000000000
dtDefault : LDATE_AND_TIME := LDATE_AND_TIME#1970-1-1-0:0:0; // ULINT#16#0
dtUpperLimit : LDATE_AND_TIME := LDATE_AND_TIME#2262-4-11-23:47:16.854775807;
dtAppointment : LDT := LDT#2026-2-7-12:55:1.234567891; // ULINT#16#7FFFFFFFFFFFFFFF
// Long time of day
tdLowerLimit : LTIME_OF_DAY := LTIME_OF_DAY#0:0:0;
tdUpperLimit : LTIME_OF_DAY := LTIME_OF_DAY#23:59:59.999999999;
tdAppointment : LTOD := LTOD#12:3:4.567890123;
END_VARSee also:
- Date and time constants
- TIME/LTIME
- TIME/LTIME constants
- Date and time conversion
- FileTime data type T_FILETIME64 from the Tc2_Utilities PLC library
- DC Time data type T_DCTIME64 from Tc2_EtherCAT PLC library
