Bug in FORMAT(TIME, ...

28. August 2009 10:13

Der FORMAT Befehl hat Probleme bei der Formatierung von Zeitangaben.
Gesehen und getestet in NAV 4sp1,sp3 und NAV 5sp1.

Code:
T := 090000T;
MESSAGE(FORMAT(T, 0, '<Hours24,2>:<Minutes,2>'));


gibt bei trotz des <Hours24,2> nur 9:00 aus. Erwartet habe ich 09:00.

Bei DATETIME gibt es diesen Bug nicht, also machen wir halt aus der reinen Zeitangabe einen DateTime-Wert:

Code:
T := 090000T;
DT := CREATEDATETIME(010100D, T);
MESSAGE(FORMAT(DT, 0, '<Hours24,2>:<Minutes,2>'));


Jetzt erscheint auch das erwartete Ergebnis: 09:00.

Gruß Torsten

Re: Bug in FORMAT(TIME, ...

28. August 2009 10:21

Torsten67 hat geschrieben:Bei DATETIME gibt es diesen Bug nicht, also machen wir halt aus der reinen Zeitangabe einen DateTime-Wert:


Code: Alles auswählen
T := 090000T;
DT := CREATEDATETIME(010100D, T);
MESSAGE(FORMAT(DT, 0, '<Hours24,2>:<Minutes,2>'));


Jetzt erscheint auch das erwartete Ergebnis: 09:00.


Geht auch einfacher:

Code:
T := 090000T;
MESSAGE(FORMAT(T, 0, '<Hours24,2><Filler Character,0>:<Minutes,2>'));


Getestet in 5.01, Ergebnis: "09:00"

Re: Bug in FORMAT(TIME, ...

28. August 2009 11:56

@JDA88
Ha -- da ist ja wirklich ein Leerzeichen vor dem 9:00.
Mit <Filler Character,0> ist es dann natürlich eleganter.

Torsten