转换: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_< 目标类型> ( <操作数> )
表 17. 运算符: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 |
表 18. 运算符: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 规范中所示。