转换:DATE、DT、TOD、LDATE、LDT、LTOD
运算符将日期和时间值转换为指定的数据类型并返回类型转换的值。
数据类型 DATE
和 DT
在内部使用相同的内存格式并存储为 DWORD
.决议为 DATE
是 1 天。决议为 DT
是 1 秒。两者都始于 1970 年 1 月 1 日。 TOD
存储为 DWORD
分辨率为 1 毫秒。
关键词 DT
和 TOD
是数据类型的替代拼写 DATE_AND_TIME
和 TIME_OF_DAY
然而后者并没有映射为类型转换命令。
数据类型 LDATE
和 LDT
和 LTOD
使用 64 位内存格式 LWORD
内部。
调用语法: DATE/DT/TOD_TO_< 目标类型> ( <操作数> )
调用语法: LDATE/LDT/LTOD_TO_< 目标类型> ( <操作数> )
表 16. 运算符:DATE/DT/TOD_TO_<目标类型>
DATE_TO_<类型> | DT_TO_<类型> | TOD_TO_<类型> | 例子 | 返回值 | 描述 |
---|
DATE_TO___UXINT
| DT_TO___UXINT
| TOD_TO___XINT
| | | __UXINT、__XINT、__XWORD |
DATE_TO___XINT
| DT_TO___XINT
| TOD_TO___XINT
| | | __UXINT、__XINT、__XWORD |
DATE_TO___XWORD
| DT_TO___XWORD
| TOD_TO___XWORD
| | | __UXINT、__XINT、__XWORD |
DATE_TO_BIT
| DT_TO_BIT
| TOD_TO_BIT
| | | BIT |
DATE_TO_BOOL
| DT_TO_BOOL
| TOD_TO_BOOL
| DATE_TO_BOOL(D#1970-1-1)
DATE_TO_BOOL(D#2019-9-1)
DT_TO_BOOL(DT#1970-1-1-0:0:0)
DT_TO_BOOL(DT#2019-9-1-12:0:0)
TOD_TO_BOOL(TOD#0:0:0)
TOD_TO_BOOL(TOD#12:0:0)
| FALSE
TRUE
FALSE
TRUE
FALSE
TRUE
| 当且仅当操作数值可以解释为“0”时,运算符才返回 FALSE 。 BOOL |
DATE_TO_BYTE
| DT_TO_BYTE
| DTOD_TO_BYTE
| | | Integer |
- | DT_TO_DATE
| TOD_TO_DATE
| | | 分辨率以秒为单位(尽管仅显示日期) |
DATE_TO_DINT
| DT_TO_DINT
| TOD_TO_DINT
| DATE_TO_DINT(D#1970-1-1)
DATE_TO_DINT(D#1970-1-2)
DATE_TO_DINT(D#2019-9-1)
DT_TO_DINT(DT#1970-1-1-0:0:0)
DT_TO_DINT(DT#1970-1-1-0:0:1)
DT_TO_DINT(DT#2019-9-1-12:0:0.0)
TOD_TO_DINT(TOD#0:0:0)
TOD_TO_DINT(TOD#12:0:0)
| 0
86400
1567339200
0
1
1567339200
0
43200000
| Integer |
DATE_TO_DT
| - | TOD_TO_DT
| | | 数据类型:DATE |
DATE_TO_DWORD
| DT_TO_DWORD
| TOD_TO_DWORD
| | | Integer |
DATE_TO_INT
| DT_TO_INT
| TOD_TO_INT
| | | Integer |
DATE_TO_LDATE
| DT_TO_LDATE
| TOD_TO_LDATE
| | | 数据类型:DATE |
DATE_TO_LDT
| DT_TO_LDT
| TOD_TO_LDT
| | | 数据类型:DATE |
DATE_TO_LINT
| DT_TO_LINT
| TOD_TO_LINT
| | | Integer |
DATE_TO_LREAL
| DT_TO_LREAL
| TOD_TO_LREAL
| | | REAL, LREAL |
DATE_TO_LTIME
| DT_TO_LTIME
| TOD_TO_LTIME
| | | 数据类型:DATE |
DATE_TO_LTOD
| DT_TO_LTOD
| TOD_TO_LTOD
| | | 数据类型:DATE |
DATE_TO_LWORD
| DT_TO_LWORD
| TOD_TO_LWORD
| | | Integer |
DATE_TO_REAL
| DT_TO_REAL
| TOD_TO_REAL
| | | REAL, LREAL |
DATE_TO_SINT
| DT_TO_SINT
| TOD_TO_SINT
| | | Integer |
DATE_TO_STRING
| DT_TO_STRING
| TOD_TO_STRING
| DATE_TO_STRING(D#1970-1-1)
DT_TO_STRING(D#1970-1-1-0:0:1)
TOD_TO_STRING(12:0:1) | 'D#1970-1-1'
'D#1970-1-1-0:0:1'
'TOD#12:0:1'
| STRING |
DATE_TO_TIME
| DT_TO_TIME
| TOD_TO_TIME
| | | 数据类型:DATE |
DATE_TO_TOD
| DT_TO_TOD
| - | | | 数据类型:DATE |
DATE_TO_UDINT
| DT_TO_UDINT
| TOD_TO_UDINT
| | | Integer |
DATE_TO_UINT
| DT_TO_UINT
| TOD_TO_UINT
| | | Integer |
DATE_TO_ULINT
| DT_TO_ULINT
| TOD_TO_ULINT
| | | Integer |
DATE_TO_USINT
| DT_TO_USINT
| TODE_TO_USINT
| | | Integer |
DATE_TO_WORD
| DT_TO_WORD
| TOD_TO_WORD
| | | Integer |
DATE_TO_WSTRING
| DT_TO_WSTRING
| TOD_TO_WSTRING
| DATE_TO_WSTRING(D#1970-1-1)
DT_TO_WSTRING(D#1970-1-1-0:0:1)
TOD_TO_WSTRING(12:0:1) | "D#1970-1-1"
"D#1970-1-1-0:0:1"
"TOD#12:0:0"
| WSTRING |
表 17. 运算符:LDATE/LDT/LTOD_TO_<目标类型>
LDATE_TO_<类型> | LDT_TO_<类型> | LTOD_TO_<类型> | 例子 | 返回值 | 描述 |
---|
LDATE_TO___UXINT
| LDT_TO___UXINT
| LTOD_TO___XINT
| | | __UXINT、__XINT、__XWORD |
LDATE_TO___XINT
| LDT_TO___XINT
| LTOD_TO___XINT
| | | __UXINT、__XINT、__XWORD |
LDATE_TO___XWORD
| LDT_TO___XWORD
| LTOD_TO___XWORD
| | | __UXINT、__XINT、__XWORD |
LDATE_TO_BIT
| LDT_TO_BIT
| LTOD_TO_BIT
| | | BIT |
LDATE_TO_BOOL
| LDT_TO_BOOL
| LTOD_TO_BOOL
| | | BOOL |
LDATE_TO_BYTE
| LDT_TO_BYTE
| LTOD_TO_BYTE
| | | Integer |
LDATE_TO_DATE
| LDT_TO_DATE
| LTOD_TO_DATE
| | | 秒(尽管只显示日期) 数据类型:DATE |
LDATE_TO_DINT
| LDT_TO_DINT
| LTOD_TO_DINT
| | | Integer |
LDATE_TO_DT
| LDT_TO_DT
| LTOD_TO_DT
| | | 数据类型:DATE |
LDATE_TO_DWORD
| LDT_TO_DWORD
| LTOD_TO_DWORD
| | | Integer |
LDATE_TO_INT
| LDT_TO_INT
| LTOD_TO_INT
| | | Integer |
- | LDT_TO_LDATE
| LTOD_TO_LDATE
| | | 纳秒(尽管只显示日期) 数据类型:DATE |
LDATE_TO_LDT
| - | LTOD_TO_LDT
| | | 数据类型:DATE |
LDATE_TO_LINT
| LDT_TO_LINT
| LTOD_TO_LINT
| | | Integer |
LDATE_TO_LREAL
| LDT_TO_LREAL
| LTOD_TO_LREAL
| | | REAL, LREAL |
LDATE_TO_LTIME
| LDT_TO_LTIME
| LTOD_TO_LTIME
| | | 数据类型:DATE |
LDATE_TO_LTOD
| LDT_TO_LTOD
| - | | | 数据类型:DATE |
LDATE_TO_LWORD
| LDT_TO_LWORD
| LTOD_TO_LWORD
| | | Integer |
LDATE_TO_REAL
| LDT_TO_REAL
| LTOD_TO_REAL
| | | REAL, LREAL |
LDATE_TO_SINT
| LDT_TO_SINT
| LTOD_TO_SINT
| | | Integer |
LDATE_TO_STRING
| LDT_TO_STRING
| LTOD_TO_STRING
| | | STRING |
LDATE_TO_TIME
| LDT_TO_TIME
| LTOD_TO_TIME
| | | 数据类型:DATE |
LDATE_TO_TOD
| LDT_TO_TOD
| LTOD_TO_TOD
| | | 数据类型:DATE |
LDATE_TO_UDINT
| LDT_TO_UDINT
| LTOD_TO_UDINT
| | | Integer |
LDATE_TO_UINT
| LDT_TO_UINT
| LTOD_TO_UINT
| | | Integer |
LDATE_TO_ULINT
| LDT_TO_ULINT
| LTOD_TO_ULINT
| | | Integer |
LDATE_TO_USINT
| LDT_TO_USINT
| LTOD_TO_USINT
| | | Integer |
LDATE_TO_WORD
| LDT_TO_WORD
| LTOD_TO_WORD
| | | Integer |
LDATE_TO_WSTRING
| LDT_TO_WSTRING
| LTOD_TO_WSTRING
| | | WSTRING |
类型的操作数 DATE
, DATE_AND_TIME
, TIME_OF_DAY
, DT
, 或者 TOD
,它们被传递给操作符进行数据和时间转换,被转换成它们的常量语法(字面量语法)。生成的字符串包含关键字 D#
, DT#
或者 TOD#
然后是大小及其数据和时间单位,如 IEC 61131-3 规范中所示。