Datums- und Uhrzeitkonstanten

32-Bit-Datumsangaben ‚DATE‘

Verwenden Sie das Schlüsselwort DATE (D), um Datumsangaben zu machen.

Syntax:

<date keyword>#<year>-<month>-<day>
<date keyword> : DATE | date | D | d
<year>  : 1970-2106
<month> : 1-12
<day>   : 1-31

DATE-Literale werden intern wie der Datentyp DWORD behandelt, was einer Obergrenze von DATE#2106-2-7 entspricht.

Beispiel:

PROGRAM MAIN
VAR
    dStart    : DATE := DATE#2018-8-8;
    dEnd      : DATE := D#2018-8-31;
    dCompare  : DATE := date#1996-05-06;
    bInTime   : BOOL;

    dEarliest : DATE := d#1970-1-1;      // = 0
    dLatest   : DATE := DATE#2106-2-7;   // = 4294967295
END_VAR
IF dStart < dCompare THEN
    IF dCompare < dEnd THEN
        bInTime := TRUE;
    END_IF;
END_IF

64-Bit-Datumsangaben ‚LDATE‘

Verwenden Sie das Schlüsselwort LDATE (LD), um Datumsangaben zu machen.

Syntax:

<date keyword>#<year>-<month>-<day>
<date keyword> : LDATE | ldate | LD | ld
<year>  : 1970-2262
<month> : 1-12
<day>   : 1-31

LDATE-Literale werden intern wie der Datentyp LWORD behandelt, was einer Obergrenze von DATE#2554-7-21 entspricht.

Beispiel:

PROGRAM MAIN
VAR
    dStart    : LDATE := LDATE#2018-8-8;
    dEnd      : LDATE := ldate#2018-8-31;
    dCompare  : LDATE := LD#1996-05-06;
    bInTime   : BOOL;

    dEarliest : LDATE := d#1970-1-1;      // = 0
    dLatest   : LDATE := DATE#2106-2-7;   // = 4294967295
END_VAR
IF dStart < dCompare THEN
    IF dCompare < dEnd THEN
        bInTime := TRUE;
    END_IF;
END_IF

32-Bit-Datums- und Uhrzeitangaben ‚DATE_AND_TIME‘

Verwenden Sie das Schlüsselwort DATE_AND_TIME (DT), um Datums- und Uhrzeitangaben zu machen.

Syntax:

<date and time keyword>#<date and time value>

<date and time keyword> : DATE_AND_TIME | date_and_time | DT | dt
<date and time value>   : <year>-<month>-<day>-<hour>:<minute>:<second>
<year>   : 1970-2106
<month>  : 1-12
<day>    : 1-31
<hour>   : 0-24
<minute> : 0-59
<second> : 0-59

DATE_AND_TIME-Literale werden intern als Datentyp DWORD behandelt. Die Zeit wird in Sekunden verarbeitet und kann folglich Werte von 1. Januar 1970 00:00 Uhr bis 07.Februar 2106 6:28:15 Uhr annehmen.

Beispiel:

PROGRAM MAIN
VAR
    dtDate0    : DATE_AND_TIME := DATE_AND_TIME#1996-05-06-15:36:30;
    dtDate1    : DATE_AND_TIME := DT#1972-03-29-00:00:00;
    dtDate2    : DT            := 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

64-Bit-Datums- und Uhrzeitangaben ‚LDATE_AND_TIME‘

Verwenden Sie das Schlüsselwort LDATE_AND_TIME (LDT), um Datums- und Uhrzeitangaben zu machen.

Syntax:

<date and time keyword>#<long date and time value>

<date and time keyword> : LDATE_AND_TIME | ldate_and_time | LDT | ldt
<date and time value>   : <year>-<month>-<day>-<hour>:<minute>:<second>
<year>   : 1970-2554
<month>  : 1-12
<day>    : 1-31
<hour>   : 0-24
<minute> : 0-59
<second> : 0-59

LDATE_AND_TIME-Literale werden intern als Datentyp LWORD behandelt. Die Zeit wird in Sekunden verarbeitet und kann folglich Werte von 1. Januar 1970 00:00 Uhr bis 21. Juli 2554 23:59:59.999999999 Uhr annehmen.

Beispiel:

PROGRAM MAIN
VAR
    dtDate0    : LDATE_AND_TIME := LDATE_AND_TIME#1996-05-06-15:36:30;
    dtDate1    : LDATE_AND_TIME := LDT#1972-03-29-00:00:00;
    dtDate2    : LDT            := LDT#2018-08-08-13:33:20.5;

    dtEarliest : LDATE_AND_TIME := LDT#1979-1-1-00:00:00;    // 0
    dtLatest   : LDATE_AND_TIME := LDT#2266-4-10-23:59:59;   // 16#7FFF63888C620000
END_VAR

32-Bit-Datumsangaben ‚TIME_OF_DAY‘

Verwenden Sie das Schlüsselwort TIME_OF_DAY (TOD), um Uhrzeitangaben zu machen.

Syntax:

<time keyword>#<time value>
<time keyword> : TIME_OF_DAY | time_of_day | TOD | tod
<time value>   : <hour>:<minute>:<second>
<hour>   : 0-23
<minute> : 0-59
<second> : 0.000-59.999

Sie können bei Sekunden auch Sekundenbruchteile angeben. TIME_OF_DAY-Literale werden intern als DWORD behandelt und somit der Wert in Millisekunden aufgelöst.

Beispiel:

PROGRAM MAIN
VAR
    tdClockTime0 : TIME_OF_DAY := TIME_OF_DAY#15:36:30.123;
    tdClockTime1 : TOD         := TOD#12:34:56.789;

    tdEarliest   : TIME_OF_DAY := TIME_OF_DAY#0:0:0.000;
    tdLatest     : TIME_OF_DAY := TIME_OF_DAY #23:59:59.999;
END_VAR

64-Bit-Datumsangaben ‚LTIME_OF_DAY‘

Verwenden Sie das Schlüsselwort LTIME_OF_DAY (LTOD), um Uhrzeitangaben zu machen.

Syntax:

<time keyword>#<time value>
<time keyword> : LTIME_OF_DAY | ltime_of_day | LTOD | ltod
<time value>   : <hour>:<minute>:<second>
<hour>   : 0-23
<minute> : 0-59
<second> : 0.000-59.999999999

Sie können bei Sekunden auch Sekundenbruchteile angeben. LTIME_OF_DAY-Literale werden intern als LWORD behandelt, somit wird der Wert in Nanosekunden aufgelöst.

Beispiel:

PROGRAM MAIN
VAR
    tdClockTime0 : LTIME_OF_DAY := LTIME_OF_DAY#15:36:30.123;
    tdClockTime1 : LTOD         := LTOD#12:34:56.7890123456;

    tdEarliest   : LTIME_OF_DAY := LTIME_OF_DAY#0:0:0.000;
    tdLatest     : LTIME_OF_DAY := LTIME_OF_DAY#23:59:59. 999999999;
END_VAR

Siehe auch: