Entwickler-Ecke
Sonstiges (Delphi) - Zeit berechnen?
MisterSonic - Sa 30.10.04 15:11
Titel: Zeit berechnen?
Hallo Leute,
es ist mal wieder so weit, das ich an einem Punkt angelangt bin wo mir einfach nicht wirklich eine Sinnvolle Lösung einfällt und ich deshalb gern auf eure Hilfe und Erfahrung zurückgreifen würde.
Ich habe ein Datum (var Datum) vom Typ "TDate" und eine Anzahl von Tagen (var Tage) vom Type "Integer", nun möchte ich das mein Programm mir das Datum von "Datum"-"Tage" im Format TDate ausgibt. Kann mir da jemand ne brauchbare Lösung bieten oder nen Hinweis geben? Das wäre nett. Bei meinen Suchen hier habe ich diesbezüglich nichts "für mich brauchbares" entdecken können, leider, aber vielleicht habe ich auch nur falsch gesucht oder was übersehen, sollte es an dem Sein bin ich natürlich auch für Hinweise zu einem Thread dankbar die dieses Thema bereits behandel(n)/(t haben).
MfG Patrick.
ScorpionKing - Sa 30.10.04 15:47
ich versteh die frage net ganz so. vielleicht liegt das dadran das ich die ganze nacht net geschlafen hab, aber egal. willst du nu days + time in ein tdate format umwandeln, oder was?
MisterSonic - Sa 30.10.04 19:53
Hye,
Sinn und Zweck ist es, das der Anwender eine Möglichkeite hat, einen Termin und eine bestimmte Anzahl von Tagen festzulegen. So das die Anzahl der Tage vom Termin abgezogen wird und er am daraus resultierenden Datum einen Hinweis o.ä. erhält.
MfG Patrick.
harmlos77 - Mo 01.11.04 19:35
Hallo Patrick,
Du wirst woll nicht darum rumkommen, mit DecodeDate Dein Datum in einzelne Werte zu zerlegen, die Anzahl der Tage im Monat rauszufinden und "per Hand" zu rechnen. Ich mache das in einigen Programmen auch so.
Vielleicht nützt Dir die Funktion etwas:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function DaysOf(Month,Year:integer):integer; begin case Month of 2: if (((Year mod 4)=0) and ((Year mod 100)>0)) or ((Year mod 400)=0) then Result:=29 else Result:=28; 1,3..7: if (Month mod 2)=1 then Result:=31 else Result:=30; 8..12: if (Month mod 2)=1 then Result:=30 else Result:=31; else Result:=0; end; end; |
Damit bekommst Du raus, wieviele Tage ein Monat hat und ob der verflixte Februar vielleicht dabei ist.
Hoffe Dir geholfen zu haben.
Jörg
Moderiert von
UGrohne: Delphi-Tags hinzugefügt.
smiegel - Mo 01.11.04 20:10
Hallo,
das ist relativ einfach. Da TDateTime schon die Tage seit dem 30.12.1899 zählt, kannst Du einfach die Tage von diesem Datum abziehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var Datum:TDateTime; Tage :Integer; ... Datum:=Now; Tage:=14; ShowMessage('Heute - 14 Tage:'+DateToStr(Datum-Tage)); ... |
Analog funktioniert dies auch in umgekehrter Richtung.
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!