Autor Téma: FormatDateTime MM vracia to iste co HH  (Přečteno 190 krát)

Offline forget123

  • Mladík
  • **
  • Příspěvků: 65
  • Karma: 2
    • Verze Delphi: XE6
FormatDateTime MM vracia to iste co HH
« kdy: 17-03-2017, 10:44:13 »
Viete mi to niekto vysvetlit?

Kód: Delphi [Vybrat]
  1. var t : TDateTime;
  2. begin
  3.   t := EncodeTime(12, 34, 0, 0);
  4.   ShowMessage(FormatDateTime('HH', t));   // vypise 12
  5.   ShowMessage(FormatDateTime('MM', t));  // vypise 12
  6. end;

XE6

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 790
  • Karma: 19
    • Verze Delphi: D2007, XE2, XE6
Re:FormatDateTime MM vracia to iste co HH
« Odpověď #1 kdy: 17-03-2017, 11:16:14 »
Excellent
Rated 1 time
Ukazuje to 12 hodin a prosinec

pro minuty musí být NN

Offline forget123

  • Mladík
  • **
  • Příspěvků: 65
  • Karma: 2
    • Verze Delphi: XE6
Re:FormatDateTime MM vracia to iste co HH
« Odpověď #2 kdy: 17-03-2017, 14:11:07 »
NN funguje. Zvlasne je ze HH:MM zobrazuje cas ok.

Offline Morrison

  • Plnoletý
  • ***
  • Příspěvků: 160
  • Karma: 6
    • Verze Delphi: D5, XE2
Re:FormatDateTime MM vracia to iste co HH
« Odpověď #3 kdy: 17-03-2017, 14:31:42 »
Protože když zobrazuješ jen čas, převede se "MM" na "NN", viz zdroják funkce FormatDateTime()

Kód: Delphi [Vybrat]
  1. if (Token = 'M') and (LastToken = 'H') then Token := 'N';
nil

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):