AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datum berechnen

Ein Thema von Basti552 · begonnen am 14. Jul 2008 · letzter Beitrag vom 16. Jul 2008
Antwort Antwort
Seite 2 von 2     12   
Basti552

Registriert seit: 14. Jan 2006
Ort: Abensberg
79 Beiträge
 
#11

Re: Datum berechnen

  Alt 15. Jul 2008, 16:10
Hi,
danke, dass hat bis jetz prima funktioniert, nur ein Problem hätt ich noch, wenn ich jetz noch eine Uhrzeit dazu angeben möchte (StrToDate(//zb.// 11.20 11.07.2008)
wie mache ich das?
Vielen Danke, auch für die Antworten davor!

BAsti
Wer nicht wagt, der nicht gewinnt!

www.paw2005.de
www.paw2005-prog.de.tl
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Datum berechnen

  Alt 15. Jul 2008, 16:13
Hi,

experimentiere mal mit StrToDateTime(DateTimeToStr(Now)).

Freundliche Grüße
  Mit Zitat antworten Zitat
Basti552

Registriert seit: 14. Jan 2006
Ort: Abensberg
79 Beiträge
 
#13

Re: Datum berechnen

  Alt 15. Jul 2008, 16:23
Zitat von marabu:
Hi,

experimentiere mal mit StrToDateTime(DateTimeToStr(Now)).

Freundliche Grüße
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Zeit1 := Now() - StrToDateTime('5.5.05 5:55');
label1.Caption := FloatToStr(Zeit1);
end;
Das is ja wohl keine richtige Zeitangabe, obwohl ich vermute, dass das nur an der Zeit liegen kann

@ oben: was bringt mir das direkte umwandeln von now?
Wer nicht wagt, der nicht gewinnt!

www.paw2005.de
www.paw2005-prog.de.tl
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Datum berechnen

  Alt 15. Jul 2008, 22:10
Hallo Sebastian,

Zitat von Basti552:
... was bringt mir das direkte umwandeln von now? ...
das war mein Versuch dir auf kürzeste Weise die zwei relevanten Konvertierungsfunktionen für DateTime-Kombiwerte nahe zu bringen.

Zitat von Basti552:
... Das is ja wohl keine richtige Zeitangabe, obwohl ich vermute, dass das nur an der Zeit liegen kann ...
Zeit1 ist schon eine Zeitangabe, allerdings kein Zeitpunkt. Lies dazu mal diesen Thread durch: Differenz zweier Datumsangaben

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Zeit1 := Now() - StrToDateTime('5.5.05 5:55');
  //label1.Caption := FloatToStr(Zeit1);
  Label1.Caption := DateTimeToStr2(Zeit1, 'd ');
end;
Gute Nacht
  Mit Zitat antworten Zitat
Basti552

Registriert seit: 14. Jan 2006
Ort: Abensberg
79 Beiträge
 
#15

Re: Datum berechnen

  Alt 16. Jul 2008, 15:31
Ja!, jetzt zeigt er auch die Zeit an, nur leider irgendsoein Datum um 19.00

Liegt das am Anfangsjahr von 'Delphi' (1800 irgendwas) ?

Danke!

BAsti552
Wer nicht wagt, der nicht gewinnt!

www.paw2005.de
www.paw2005-prog.de.tl
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: Datum berechnen

  Alt 16. Jul 2008, 16:44
Ja, daran liegt das.

DateTimeToStr() und die anderen Konvertierungsroutinen von Delphi gehen immer davon aus, dass der übergebene Wert ein bestimmter relativer Zeitpunkt ist. Wenn du aber zwei Zeitpunkte voneinander abziehst, was wegen des internen Formats DOUBLE wunderbar funktioniert, dann ist das Ergebnis eine Mengenangabe mit der Einheit "Tag". Wenn der Abstand der beiden voneinander subtrahierten Zeitangaben z.B. genau 48 Stunden ist, dann ist das Ergebnis 2.0 - übergeben an DateTimeToStr(2.0) erhältst du dann "01.01.1900 00:00:00".
Weil du die Tage eines Zeitabstand (einer Zeitmenge, eines Zeitintervalls) nicht als Datum interpretieren darfst, hatte ich dir die Funktion DateTimeToStr2() nahegelegt. Die Hintergründe dazu stehen in dem verlinkten Thread.

Das Refernzdatum ist der Beginn (0 Uhr) des 30.12.1899, was du durch DateTimeToStr(0) leicht feststellen kannst. Im Beitrag #6 hatte ich Sylvester 1899 angegeben, was falsch ist - ich hatte aus Versehen bei DateDelta nachgeschaut. In meiner Delphi Online-Hilfe wird bei TDateTime der Referenzzeitpunkt als 30.12.1899 12:00 Uhr angegeben, was auch falsch ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 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