# DATE_AND_TIME Format ändern



## flockal (23 Juli 2019)

Hallo Leute.

Ich will in Codesys zwei Zeiten vergleichen um ein Event auszulösen.

Die eine Zeit bekomme ich vom System und ist im Format YYYY-MM-TT-hh:mm:ss angegeben, jedoch interressieren mich nur die Stunden und Minuten, da ich die zweite Zeit aus einer Datenbank entnehme und das Format hh:mm hat.

hat jemand eine Idee wie ich das DT Format ändern kann?

Wäre super!


----------



## DeltaMikeAir (23 Juli 2019)

So vielleicht:

Date and Time umwandeln in Time


----------



## flockal (23 Juli 2019)

danke für die rasche Antwort, jedoch habe ich das auch schon probiert und das ist nicht ganz das wonach ich zuche.

wenn ich es so umwandel habe ich immer noch die Sekunden und kein fixes Format.

Ich will nur die Uhrzeit in Stunden und Minuten


----------



## Peter255 (23 Juli 2019)

Hallo,

leider verstehe ich die Übergabe der Zeitvorgaben nicht ganz. Werden sie als String Übergeben?

In Codesys wird DT intern als DWORD in Sekunden dargestellt.

Wenn die Stunden hh und die Minuten mm als Zahlen vorliegen würde ich eine DWORD Variable deklarieren und dann die Zeit zusammensetzen.

dw_Tageszeit: DWORD;

dw_Tageszeit:= (HH*3600)+(mm*60);

Danach kann man den Wert als DWORD direkt mit >, < oder = vergleichen,
oder mit to_DT in das Zeitformat umwandeln.

Grüße


----------



## Heinileini (23 Juli 2019)

flockal schrieb:


> wenn ich es so umwandel habe ich immer noch die Sekunden und kein fixes Format.


Was ist denn ein "fixes Format"? FestPunktZahl? Wenn Du die Zeit durch 60 teilst, sollte die Anzahl Minuten herauskommen.
Wenn Du Stunden und Minuten separat benötigst, teilst Du dieses ZwischenErgebnis noch mal durch 60 --> Anzahl Stunden und Zwischenergebnis MOD 60 --> Anzahl Minuten.


----------



## holgermaik (23 Juli 2019)

Hallo flocal
Deine Systemzeit wandelst du nach TOD. Deine Datenbankzeit baust du dir nach Peter seinem Vorschlag in #4 auch als TOD zusammen.
Jetzt kannst du direkt vergleichen. Sollten die Sekunden in der Systemzeit stören splittest du die Zeit auf entfernst die Sekunden und baust sie wieder zusammen oder vergleichst gleich die UINT.
Codesys 3.5 - TODSplit / TODConcat
Codesys 2.3 - Oscat SDT Datentypen.
Holger


----------

