Skip to main content

Time Conversion

The operators convert time values (TIME or LIME) into the specified data types and return this type-converted value.

Call syntax: <TIME_TO<target type> ( <operand> ), <LTIME_TO<target type> ( <operand> )

Operand

Data Type

Description

Variable or literal

TIME, LTIME

Data type: TIME, LTIME

Table 15. Casting operators: TIME/LTIME_TO_<target type>

Operator

Operator

Example

Return Value

Description

TIME_TO___UXINT

LTIME_TO___UXINT

__UXINT, __XINT, __XWORD

TIME_TO___XINT

LTIME_TO___XINT

__UXINT, __XINT, __XWORD

TIME_TO___XWORD

LTIME_TO___XWORD

__UXINT, __XINT, __XWORD

TIME_TO_BIT

LTIME_TO_BIT

BIT

TIME_TO_BOOL

LTIME_TO_BOOL

TIME_TO_BOOL(T#0MS);
TIME_TO_BOOL(T#59ms);
LTIME_TO_BOOL(T#0MS);
LTIME_TO_BOOL(T#59ms);

FALSE

TRUE

The operator returns FALSE if and only if the operand value can be interpreted as "0".

BOOL

TIME_TO_BYTE

LTIME_TO_BYTE

Integer

TIME_TO_DATE

LTIME_TO_DATE

LTIME_TO_DATE(LTIME#2us1ns);

D#1970-1-1

Syntax: D#yyyy-MM-dd

Data type: DATE

TIME_TO_DINT

LTIME_TO_DINT

Integer

TIME_TO_DT

LTIME_TO_DT

TIME_TO_DT(T#5d4h3m2s1ms);
LTIME_TO_DT(LTIME#2us1ns);

D#1970-1-1-0:0:0.000000012

Syntax: DT#yyyy-MM-dd-hh:mm:ss

Data type: DATE

TIME_TO_DWORD

LTIME_TO_DWORD

Integer

TIME_TO_INT

LTIME_TO_INT

LTIME_TO_INT(LTIME#2us1ns);

0

Integer

TIME_TO_LDATE

LTIME_TO_LDATE

Syntax: LDATE#yyyy-MM-dd

Data type: DATE

TIME_TO_LDT

LTIME_TO_LDT

Syntax: LDT#yyyy-MM-dd-hh:mm:ss.sss

Data type: DATE

TIME_TO_LINT

LTIME_TO_LINT

Integer

TIME_TO_LREAL

LTIME_TO_LREAL

TIME_TO_LREAL(T#5d4h3m2s1ms);

x.x

TIME_TO_LTIME

-

TIME_TO_LTOD

LTIME_TO_LTOD

Syntax: LTOD#hh:mm:ss.sssssssss

Data type: DATE

TIME_TO_LWORD

LTIME_TO_LWORD

TIME_TO_LWORD(T#5d4h3m2s1ms);
LTIME_TO_LWORD(LTIME#2us1ns);

0

Integer

TIME_TO_REAL

LTIME_TO_REAL

TIME_TO_REAL(T#1d2h3m4s5ms);
LTIME_TO_REAL(LTIME#2us1ns);

9.28E+07

0.0

REAL, LREAL

TIME_TO_SINT

LTIME_TO_SINT

Integer

TIME_TO_STRING

LTIME_TO_STRING

TIME_TO_STRING(T#0MS);

'T#0MS'

Important: The typed value is left-aligned as a character string and truncated if it is too long. Therefore, declare the return variable long enough that the string has enough space without any manipulation.

STRING

-

LTIME_TO_TIME

LTIME_TO_TIME(LTIME#2us1ns);

T#0ms

Data type: TIME, LTIME

TIME_TO_TOD

LTIME_TO_TOD

TIME_TO_TOD(T#1d2h3m4s5ms);
LTIME_TO_TOD(LTIME#2us1ns);

TOD#2:3:4.005

TOD#0:0:0

Data type: DATE

TIME_TO_UDINT

LTIME_TO_UDINT

Integer

TIME_TO_UINT

LTIME_TO_UINT

Integer

TIME_TO_ULINT

LTIME_TO_ULINT

TIME_TO_ULINT(T#1d2h3m4s5ms);

93784005

Integer

TIME_TO_USINT

LTIME_TO_USINT

Integer

TIME_TO_WORD

LTIME_TO_WORD

Integer

TIME_TO_WSTRING

LTIME_TO_WSTRING

TIME_TO_WSTRING(T#1d2h3m4s5ms);
LTIME_TO_WSTRING(T#0US);

"T1d2h3m4s5ms"

"T#0US"

The typed value is left-aligned as a character string and truncated if it is too long. Therefore, declare the return variable long enough that the string has enough space without any manipulation.

WSTRING



Example 174. ST implementation language

Declaration in ST

FUNCTION_BLOCK FB_ConvertTimeAndDate
VAR
        ltReturn_1: LTIME;
        lwReturn_2: LWORD;
        rReturn_3: REAL;
        strReturn_4: STRING;
        timReturn_5: TIME;
        todReturn_6: TIME_OF_DAY;
        uliReurn_7: ULINT;
        wstrReturn_8: WSTRING;
        wstrReturn_80: WSTRING;
        uliReurn_70: ULINT;
        todReturn_60: TIME_OF_DAY;
        timReturn_50: TIME;
        strReturn_40: STRING;
        rReturn_30: REAL;
        lwReturn_20: LWORD;
        ltReturn_10: LTIME;
        ltReturn_11: LTIME;
        lwReturn_21: LWORD;
        rReturn_31: REAL;
        strReturn_41: STRING;
        timReturn_51: TIME;
        todRedurn_61: TIME_OF_DAY;
        uliReurn_71: ULINT;
        wstrReturn_81: WSTRING;
        ltReturn_12: LTIME;
        xReturn_9: BOOL;
        xReturn_90: BOOL;
        xReturn_91: BOOL;
        xReturn_92: BOOL;
        dateReturn_6: DATE;
        timReturn_60: TIME;
        wReturn_61: WORD;
        todReturn_61: TIME_OF_DAY;
END_VAR

Implementation in ST

FUNCTION_BLOCK FB_ConvertTimeAndDate
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
        ltReturn_1: LTIME;
        lwReturn_2: LWORD;
        rReturn_3: REAL;
        strReturn_4: STRING;
        timReturn_5: TIME;
        todReturn_6: TIME_OF_DAY;
        uliReurn_7: ULINT;
        wstrReturn_8: WSTRING;
        wstrReturn_80: WSTRING;
        uliReurn_70: ULINT;
        todReturn_60: TIME_OF_DAY;
        timReturn_50: TIME;
        strReturn_40: STRING;
        rReturn_30: REAL;
        lwReturn_20: LWORD;
        ltReturn_10: LTIME;
        ltReturn_11: LTIME;
        lwReturn_21: LWORD;
        rReturn_31: REAL;
        strReturn_41: STRING;
        timReturn_51: TIME;
        todRedurn_61: TIME_OF_DAY;
        uliReurn_71: ULINT;
        wstrReturn_81: WSTRING;
        ltReturn_12: LTIME;
        xReturn_9: BOOL;
        xReturn_90: BOOL;
        xReturn_91: BOOL;
        xReturn_92: BOOL;
        dateReturn_6: DATE;
        timReturn_60: TIME;
        wReturn_61: WORD;
        todReturn_61: TIME_OF_DAY;
END_VAR

ltReturn_1 := DT_TO_LTIME(DT#2019-9-9-23:59:59);
ltReturn_10 := DT_TO_LTIME(DT#1970-1-1-0:0:0);
ltReturn_11 := DT_TO_LTIME(DT#1970-1-2-0:0:1);
ltReturn_12 := DT_TO_LTIME(DT#1970-1-3-12:30:30);

lwReturn_2 := TIME_TO_LWORD(T#5D4H2M3S2MS);
lwReturn_20 := TIME_TO_LWORD(T#0D0H0M0S0MS);

rReturn_3 := TIME_TO_REAL(T#5D4H2M3S2MS);
rReturn_30 := TIME_TO_REAL(T#0D0H0M0S0MS);

strREturn_4 := TIME_TO_STRING(T#5D4H2M3S2MS);
strREturn_40 := TIME_TO_STRING(T#0D0H0M0S0MS);

timReturn_5 := TOD_TO_TIME(TOD#23:59:59.999);
timReturn_50 := TOD_TO_TIME(TOD#0:0:0.000);
timReturn_51 := TOD_TO_TIME(TOD#0:0:0.001);

dateReturn_6 := TOD_TO_DATE(TOD#23:59:59.999);
timReturn_60 := TOD_TO_TIME(TOD#0:0:0.000);
wReturn_61 := TOD_TO_WORD(TOD#0:0:0.001);

uliReurn_7 := DATE_TO_ULINT(D#2019-9-9);
uliReurn_70 := DATE_TO_ULINT(D#1970-1-1);
uliReurn_71 := DATE_TO_ULINT(D#1970-1-2);

wstrReturn_8 := DATE_TO_WSTRING(D#2019-9-9);
wstrReturn_80 := DATE_TO_WSTRING(D#1970-1-1);
wstrReturn_81 := DATE_TO_WSTRING(D#1970-1-2);

xReturn_9 := DATE_TO_BOOL(D#2019-9-9);
xReturn_90 := DATE_TO_BOOL(D#1970-1-1);
xReturn_91 := DATE_TO_BOOL(D#1970-1-2);
xReturn_92 := DATE_TO_BOOL(D#1970-1-3);
_cds_img_conversions_from_time.png
_cds_img_conversions_from_long_time.png


Example 175. FBD implementation language
_cds_img_fbd_convert_time.png