CODESYS Development System > 参考,编程 > 操作数 > 日期和时间常量 |
使用关键字DATE (D)指定日期。
DATE字面量在内部的数据类型为DWORD,它对应于DATE#2106-2-7的上限。
.例如
PROGRAM PRG_Date
VAR
dateStart : DATE := DATE#2018-8-8;
dateEnd : DATE := D#2018-8-31;
dateCompare: DATE := date#1996-05-06;
xIsDuringTheTime: BOOL;
dateEarliest : DATE := d#1970-1-1; // = 0
dateLatest : DATE:=DATE#2106-2-7; // = 4294967295
END_VAR
IF dateStart < dateCompare THEN IF dateCompare < dateEnd THEN
xIsDuringTheTime := TRUE;
END_IF;
END_IF
使用关键字LDATE (LD)指定日期。
LDATE字面量在内部被视为数据类型LWORD,它对应于DATE#2554-7-21的上限。
.示例
PROGRAM PRG_Ldate
VAR
ldateStart : LDATE := LDATE#2018-8-8;
ldateEnd : LDATE := ldate#2018-8-31;
ldateCompare: LDATE := LD#1996-05-06;
xIsDuringTheTime: BOOL;
ldateEarliest : LDATE := ld#1970-1-1; // = 0
ldateLatest : LDATE := LDATE#2262-4-10; // = 16#7FFF63888C620000
lwValue: LWORD;
END_VAR
IF ldateStart < ldateCompare THEN
IF ldateCompare < ldateEnd THEN
xIsDuringTheTime := TRUE;
END_IF;
END_IF
lwValue := LDATE_TO_LWORD(ldateCompare);
使用关键字DATE_AND_TIME (DT)指定日期和时间。
.语法
<日期和时间的关键字>#<日期和时间的值>
<日期和时间的关键字> : DATE_AND_TIME | date_and_time | DT | dt
<日期和时间的值> : <年>-<月>-<日>-<时>:<分>:<秒>
<年> : 1970-2106
<月> : 1-12
<日> : 1-31
<小时> : 0-24
<分钟> : 0-59
<秒> : 0-59
DATE_AND_TIME字面量在内部的数据类型为DWORD。时间以秒为单位进行处理,因此可以采用从1970年1月1日00:00到2106年2月7日06:28:15的值。
.例如
PROGRAM PLC_PRG
VAR
dtDate : DATE_AND_TIME := DATE_AND_TIME#1996-05-06-15:36:30;
dtDate1: DATE_AND_TIME := DT#1972-03-29-00:00:00;
dtDate2: DATE_AND_TIME := DT#2018-08-08-13:33:20.5;
dtEarliest : DATE_AND_TIME := DATE_AND_TIME#1979-1-1-00:00:00; // 0
dtLatest : DATE_AND_TIME := DATE_AND_TIME#2106-2-7-6:28:15; // 4294967295
END_VAR
使用关键字LDATE_AND_TIME (LDT)指定日期和时间。
.语法
<日期和时间的关键字>#<长日期和时间值>
<日期和时间的关键字> : LDATE_AND_TIME | ldate_and_time | LDT | ldt
<日期和时间值> : <年>-<月>-<日>-<时>:<分>:<秒>
<年> : 1970-2106
<月> : 1-12
<日> : 1-31
<小时> : 0-24
<分钟> : 0-59
<秒> : 0-59 LDATE_AND_TIME#2262-4-10-23:59:59.99999999
DATE_AND_TIME字面值在内部被视为数据类型LWORD。时间以秒为单位处理,因此可以采用1970年1月1日00:00到7月21日2554 23:59:59.99999999的值。
.示例
PROGRAM PLC_PRG
VAR
ldtDate : LDATE_AND_TIME := LDATE_AND_TIME#1996-05-06-15:36:30;
ldtDate1: LDATE_AND_TIME := LDT#1972-03-29-00:00:00;
ldtDate2: LDATE_AND_TIME := LDT#2018-08-08-13:33:20.5;
dtEarliest : LDT := LDT#1979-1-1-00:00:00; // 0
dtLatest : LDT := LDT#2266-4-10-23:59:59; // = 16#7FFF63888C620000
END_VAR
使用关键字TIME_OF_DAY (TOD)指定时间。
.语法
<时间关键字>#<时间值>
<时间关键字> : TIME_OF_DAY | time_of_day | TOD | tod
<时间值> : <小时>:<分钟>:<秒>
<小时> : 0-23
<分钟> : 0-59
<秒> : 0.000-59.999
你还可以指定几分之一秒。TIME_OF_DAY字面量在内部作为DWORD 处理,其值以毫秒为单位进行解析。