Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Mit Datum arbeiten
V!P3R - Sa 18.10.08 12:28
Titel: Mit Datum arbeiten
Hallo
Delphi-Quelltext
1: 2: 3:
| var c: String; c:=IntToStr(Round(StrToDate(FormatDateTime('dd.mm',StrToDate(Edit1.Text))) - StrToDate(FormatDateTime('dd.mm',Now)))) ; |
Jez möchte ich aber
1. Das ALter in Jahren haben
Mein Versuch:
Delphi-Quelltext
1: 2: 3:
| var c: String; c:=IntToStr(Round(StrToDate(FormatDateTime('yyyy',Now)) - StrToDate(FormatDateTime('yyyy',StrToDate(Edit1.Text))))) ; |
Wie kann ich das rechnen. Wichtig: ich habe nur zwei Daten in folgender Form:18.10.2008 und 09.04.1993
MfG
V!P3R - Sa 18.10.08 12:39
Okay ich glaube ich habe die Lösung gefunden:
Delphi-Quelltext
1: 2:
| var a:String; a:= IntToStr(StrToInt(FormatDateTime('yyyy',Now))-(StrToInt(FormatDateTime('yyyy',StrToDate(Edit1.Text))))); |
Yogu - Sa 18.10.08 13:07
Warum klammerst du dich so verzweifelt an Daten, wenn du doch nur zwei Jahre (= Ganzzahlen :idea:) vergleichen willst?
Delphi-Quelltext
1:
| Age := YearOf(Now) - StrToInt(Edit1.Text); |
Edit: Year zu
YearOf korrigiert
V!P3R - Sa 18.10.08 13:24
weil in Edit1 doch '09.04.1993' steht und nich '1993'
außerdem funktioniert es doch so einwandfrei.
MfG
jaenicke - Sa 18.10.08 13:49
Die Lösung ist aber durch das FormatDateTime relativ langsam, viel einfacher und schneller dürfte das sein:
Delphi-Quelltext
1: 2:
| lblOutput.Caption := 'Unterschied: ' + IntToStr(YearOf(Now) - YearOf(StrToDate(edtDate.Text))) + ' Jahre'; |
Wobei schneller sein dürfte das Jahr selbst aus dem String zu holen, aber dann ist es nicht ganz mehr so kurz.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!