Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sekunden als Integer zu einer Zeit addieren (https://www.delphipraxis.net/103654-sekunden-als-integer-zu-einer-zeit-addieren.html)

Ajin 19. Nov 2007 10:15


Sekunden als Integer zu einer Zeit addieren
 
Tag DP!

Ich möchte einen Zeitpunkt bestimmen indem ich von now noch z.B. 1239 Sekunden dazuaddieren möchte.
ich hab schonmal folgendes gebaut:

Delphi-Quellcode:
jetzt:=now;
showmessage(TimeToStr(jetzt + StrToTime('00:20:00')));
Das Ergebnis ist jetzt + 20 Minuten. Klappt wunderbar. Nun möchte ich z.B. die 20 Minuten in Form von 1200 Sekunden addieren.

Gibts da was elegantes schlankes oder muss man alle Zeitwerte zerlegen, dann addieren und anschliessend wieder in eine lesbare Form bringen?

Bernhard Geyer 19. Nov 2007 10:17

Re: Sekunden als Integer zu einer Zeit addieren
 
Delphi-Quellcode:
iSekunden/(24*60*60)
1 Tage = 1,00000
1 Stunde = 1/24
1 Minute = 1/(24*60)
...

Ajin 19. Nov 2007 10:24

Re: Sekunden als Integer zu einer Zeit addieren
 
:mrgreen:

Ich hab mich nur gefragt wie man zu einem TTime Wert wie now Sekunden hinzuaddieren kann.

z.B. 11:25 Uhr + 1200 Sekunden = 11:45 Uhr

denn 11:25 + '00:20:00' = 11:45 Uhr klappt schon :P

marabu 19. Nov 2007 10:26

Re: Sekunden als Integer zu einer Zeit addieren
 
Oder du nimmst die Prozedur IncSecond() aus der Unit DateUtils.

Delphi-Quellcode:
  dt := IncSecond(Now, 1200);
Grüße vom marabu

Ajin 19. Nov 2007 10:31

Re: Sekunden als Integer zu einer Zeit addieren
 
Godlike!

Ich wusste da gibts schon was in der Richtung!

Genau mein Ding, ich verneige mich dafür :bounce1:

Bernhard Geyer 19. Nov 2007 10:32

Re: Sekunden als Integer zu einer Zeit addieren
 
Zitat:

Zitat von Ajin
Ich wusste da gibts schon was in der Richtung!

Dort gibt es auch nur einen einzeiler der letztendlich (mit eine paar Konstanten garniert) meinen Einzeiler einspricht :-)

RavenIV 19. Nov 2007 10:50

Re: Sekunden als Integer zu einer Zeit addieren
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Ajin
Ich wusste da gibts schon was in der Richtung!

Dort gibt es auch nur einen einzeiler der letztendlich (mit eine paar Konstanten garniert) meinen Einzeiler einspricht :-)

Aber warum soll man die Standard-Funktion nicht verwenden, wenn es sie schon gibt?
Vor allem kann man dann davon ausgehen, dass sie richtig rechnet und dass sie jeder findet.

Bernhard Geyer 19. Nov 2007 10:53

Re: Sekunden als Integer zu einer Zeit addieren
 
Zitat:

Zitat von RavenIV
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Ajin
Ich wusste da gibts schon was in der Richtung!

Dort gibt es auch nur einen einzeiler der letztendlich (mit eine paar Konstanten garniert) meinen Einzeiler einspricht :-)

Aber warum soll man die Standard-Funktion nicht verwenden, wenn es sie schon gibt?
Vor allem kann man dann davon ausgehen, dass sie richtig rechnet und dass sie jeder findet.

Eigentlich nix. Wollte nur darauf hinweisen das dahinter auch keine Hexerei steckt.

Da einzige wäre wenn man noch kein D2006/D2007 hat und damit inline und jeden Prozessortakt benötigt eine direkt Funktion schneller wäre.

RavenIV 19. Nov 2007 10:59

Re: Sekunden als Integer zu einer Zeit addieren
 
Zitat:

Zitat von Bernhard Geyer
Da einzige wäre wenn man noch kein D2006/D2007 hat und damit inline und jeden Prozessortakt benötigt eine direkt Funktion schneller wäre.

Also in der Delphi-7-Hilfe ist IncSecond schon dabei.
Somit kann man davon ausgehen, dass es schon seit einigen Delphi-Versionen Standard ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 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