![]() |
2 TDate -> 1 Tdate
Servus,
Ich habe 2 TDateTimePicker auf meiner Form. In dem einen kann der User ein Datum, in dem anderen eine Uhrzeit einstellen. Jetzt möchte ich aus diesen beiden Angaben ein Datum errechnen, das das Datum des ersten Pickers und die Uhrzeit des zweiten hat. Nur wie komme ich dadran? Ich weiss, oder meine zumindest mal gelesen zu haben, dass der Vorkomma Teil eines TDates das Datum repräsentiert, und der Nachkomma Teil die Uhrzeit. Ich komme aber trotzdem nicht drauf wie ich das bewerkstelligen sollte... Mir kam jetzt doch eine Idee, aber gibts da nicht vielleicht eine sauberere Lösung? Ich find das ziemlich dämlich:
Delphi-Quellcode:
Funktioniert zwar, aber wie gesagt, etwas rumgetrickst...
var temp:TDate;
begin temp:=trunc(DateTimePicker1.DateTime)+(DateTimePicker2.date-trunc(DateTimePicker2.DateTime)); edit1.text:=DateTimeToStr(temp) end; |
Re: 2 TDate -> 1 Tdate
das einfachste ist einfach Datum + Zeit (weil Datum ja der Vorkommateil ist und Zeit der Nachkommateil).
Um zu verhindern das da jeweils noch ein falsches Datum oder eine falsche Zeit addiert werden kann man die Funktionen Trunc und Frac nutzen
Delphi-Quellcode:
DatumZeit := Trunc(Datum) + Frac(Zeit);
|
Re: 2 TDate -> 1 Tdate
ok ost etwas schlanker, auch wenns das selbe tut, danke :)
|
Re: 2 TDate -> 1 Tdate
Hallo,
im OI DateTimePicker1.Time auf '00:00:00' und DateTimePicker2.Date auf '30.12.1899' setzen, dann ist die direkte Berechnung möglich:
Delphi-Quellcode:
showmessage(DateTimeToStr(DateTimePicker1.Date + DateTimePicker2.Time));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz