Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datum als int DDMMYYYY ausgeben (https://www.delphipraxis.net/163556-datum-als-int-ddmmyyyy-ausgeben.html)

sneumann 4. Okt 2011 12:44


Datum als int DDMMYYYY ausgeben
 
ich versuche das heutige Datum folgendermaßen auszugeben
DDMMYYYY ohne , . dazwischen, also als INT:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  Present: TDateTime;
  Year, Month, Day, Word;
 begin
  Present:= Now;
  SysUtils.DecodeDate(Present, Year, Month, Day);
  end;

Edit2.Text := IntToStr(Day) + IntToStr(Month) + InTtoStr(Year);
habe ein kleines Edit2. - fenster wo ich dann das Datum in folgender Form haben will: DDMMYYYY
bei mir steht beim ausführen jedoch in dem kleinen Fenster nur 004096
DAY hat wert 0 , MONTH den wert 0 und YEar den wert 4096, WARUM ? ? was mach ich falsch?

was hat es mit dem Word auf sich?
habe den code zum teil von http://docwiki.embarcadero.com/CodeE...e_%28Delphi%29

espen 4. Okt 2011 12:50

AW: Datum als int DDMMYYYY ausgeben
 
Hallo,

wie wäre es mit

Delphi-Quellcode:
Edit1.Text := formatdatetime('ddmmyyyy', (now));

Gruss

DeddyH 4. Okt 2011 12:50

AW: Datum als int DDMMYYYY ausgeben
 
Ginge das mit FormatDateTime nicht einfacher?
Delphi-Quellcode:
Edit1.Text := FormatDateTime('ddmmyyyy', now);
[edit] Mist, zu spät :? [/edit]

Bernhard Geyer 4. Okt 2011 12:52

AW: Datum als int DDMMYYYY ausgeben
 
Kleine Bitte: Nimm als Format YYYYMMDD. Diese Format ohne Trennzeichen wird also ISO-Datumformat verwendet. Wenn jetzt auch noch dein Format als kurzformat verwendet wird kann man bald gar nix mehr bezüglich datum verstehen. Es reicht schon das die deutsche Datumsreihenfolge Tag-Monat-Jahr schon mit Bindestrich verwendet wird.

Machs besser so:

Delphi-Quellcode:
Edit2.Text := FormatDateTime('YYYYMMDD', Now);
um eine korrekte Ausgabe nach den ISO-Regeln zu bekommen.

sneumann 4. Okt 2011 12:54

AW: Datum als int DDMMYYYY ausgeben
 
Zitat:

Zitat von espen (Beitrag 1128318)
Hallo,

wie wäre es mit

Delphi-Quellcode:
Edit1.Text := formatdatetime('ddmmyyyy', (now));

Gruss

Dankeschön hat wunderbar geholfen!!
So jetzt möchte ich gerne
Das Datum folgender maßen ausgeben: DDMMYYLV

YY steht für 11 (in2011 im heutigem datum) und LV für Laufvariable beginned mit 01 zum Beispiel, wie realisiere ich das?
also damit dann sozusagen jedes mal das Datum 04101101 nächsten tag 05101102 nächsten tag 06101103 geschrieben wird in Edit.Text1

webcss 4. Okt 2011 13:07

AW: Datum als int DDMMYYYY ausgeben
 
Delphi-Quellcode:
Edit1.Text := formatdatetime('ddmmyy', (now))+FormatFloat('00', LV);

sneumann 4. Okt 2011 13:20

AW: Datum als int DDMMYYYY ausgeben
 
Zitat:

Zitat von webcss (Beitrag 1128335)
Delphi-Quellcode:
Edit1.Text := formatdatetime('ddmmyy', (now))+FormatFloat('00', LV);

muss bei dir LV noch vorher deklariert sein!?

geht es auch so?

Code:
Edit2.Text := formatdatetime('ddmmyy', (now)) + '00';
weil bei mir hat er es so auch gemacht!?
Eigentlich müsste es auch so gehen weil die laufvariable wird sowieso jeden tag wieder auf 00 gesetzt und läuft nur einen Tag weiter. Dann wieder 00. Und das weiterlaufen kann man selber anklicken daher ist glaub ich meine Frage damit beendet

himitsu 4. Okt 2011 13:26

AW: Datum als int DDMMYYYY ausgeben
 
Abgesehn vom Delphi-Referenz durchsuchenFormatDateTime, nochmal zum ursprünglichen Problem.

Zitat:

Zitat von sneumann (Beitrag 1128315)
bei mir steht beim ausführen jedoch in dem kleinen Fenster nur 004096
DAY hat wert 0 , MONTH den wert 0 und YEar den wert 4096, WARUM ? ? was mach ich falsch?

Ja und wo hast du dein
Delphi-Quellcode:
Edit2.Text := IntToStr(Day) + IntToStr(Month) + InTtoStr(Year);
denn stehn?

Jedenfalls nicht in der Button1-Klickmethode. (dort wo deine Variablen deklariert sind)

Fazit: Dein Code nutzt nicht diese Variablen, sondern irgendwas Anderes.



Ach ja, IntToStr kennt keine führenden Nullen. Wenn, dann über
Zitat:

Format
und wie man die führenden Nullen einstellt, steht in der OH.

Oder Mathematisch:
Delphi-Quellcode:
Edit2.Text := IntToStr(Day * 1000000 + Month * 10000 + Year);
, wobei du hier auch aufpassen mußt, da ja dennoch eine 0 fehlen kann, wenn Day < 10.

p80286 4. Okt 2011 13:57

AW: Datum als int DDMMYYYY ausgeben
 
Zitat:

Zitat von sneumann (Beitrag 1128315)
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  Present: TDateTime;
  Year, Month, Day, Word;
 begin
  Present:= Now;
  SysUtils.DecodeDate(Present, Year, Month, Day);
  end;

Edit2.Text := IntToStr(Day) + IntToStr(Month) + InTtoStr(Year);

a) das kann nicht compiliert werden wg. "Year, Month, Day, Word;"

Zitat:

Zitat von sneumann (Beitrag 1128315)
was hat es mit dem Word auf sich?

b) wenn Du es richtig gemacht hättest "Year, Month, Day: Word;", dann wäre doch wohl klar gewesen, das Word einen Typen bezeichnet!?

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz