Cum de a compara două date
StrToDateTime () - returnează data în format real.
Prin scăderea acestei date din actualul (acum), veți obține diferența - asta este ceea ce este necesar și în fracții ale zilei.
Aveți posibilitatea să rotunji (Trunc, Round)
Aduceți șirul la TDateTime și găsiți diferența cu Now () sau Date (). Întreaga parte va fi o diferență în zile întregi. Fracțional - o parte a zilei (0,5 = 12 ore)
# xA0; # xA0; # xA0; str: = datetostr (dată) + "" + timetostr (timp);
# xA0; # xA0; = strtodatetime (str) -strtodatetime (dbedit21.Text);
> au trecut zilele de la prima dată la cea curentă # 133
DaysBetween
și str are tocmai în cazul tău formularul "17.05.07 10:46:15". În cazul în care celălalt, atunci strtodatetime nu este complet corect.
exact acest lucru - a fost condus de principiul datetostr (date) + "" + timetostr (time);
dar cu câteva zile mai devreme
și cum să lucrezi cu DaysBetween
rezultat dintr-un motiv 0
Nu cred. Ca rezultat - cele care sunt acoperite de 19.5:
procedura TForm1.Button1Click (expeditor: TObject);
începe
# xA0; Application.MessageBox (
# xA0; # xA0; PChar (
# xA0; # xA0; # xA0; DateTimeToStr (Acum () - 19,5) + # 13 +
# xA0; # xA0; # xA0; FloatToStr (
# xA0; # xA0; # xA0; #XA0; StrToDateTime (DateTimeToStr (Acum ())) -
# xA0; # xA0; # xA0; #XA0; StrToDateTime (DateTimeToStr (Acum () - 19,5))
# xA0; # xA0; # xA0;)
# xA0; # xA0;),
# xA0; # xA0; PChar (DateTimeToStr (Acum ()));
# xA0; # xA0; 0
# xA0;)
se încheie;
Memorie: 0,73 MB
Durată: 0.088 sec