AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi 2 Timestamps subtrahieren und im Zeitformat ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

2 Timestamps subtrahieren und im Zeitformat ausgeben

Ein Thema von smudo · begonnen am 1. Dez 2005 · letzter Beitrag vom 8. Dez 2005
Antwort Antwort
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#1

2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 08:58
Datenbank: Interbase • Version: 6.1 • Zugriff über: egal
Hallo,

hier mal was scheinbar kniffliges. Ich habe zwei Timestamps - TS_Start wird beim Insert gesetzt, TS_End beim Update.
Nun möchte ich per Select die Dauer zwischen Insert und Update ermitteln.

TS_Start=30.11.2005 18:04:20
TS_End=30.11.2005 20:49:36

select TS_End-TS_Start from... = 0,114768518

Wie bekomme ich aus dieser Zahl einen repräsentativen Zeitwert (2:45:16)?


Vielen Dank
und eine schöne Adventszeit

René
  Mit Zitat antworten Zitat
marabu

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

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 09:04
Hallo René,

suchst du das hier?

ShowMessage(TimeToStr(TS_End - TS_Start)); Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 09:06
Versuch es doch mal mit CAST:
select Cast(TS_End-TS_Start AS TIME) from ... Wenn es direkt im SQL sein soll. Wenn es nur um die Umwandlung in Delphi geht, dann die Lösung vom marabu.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
marabu

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

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 09:11
Hi Union,

SQL geht auch, aber so: klick

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 09:19
Zitat von marabu:
Hi Union,

SQL geht auch, aber so: klick

Freundliche Grüße vom marabu
Teuflisch... btw, setze ich IB/FB gar nicht mehr ein. Ich habe nur noch die Dokumentation - dort war es so angegeben.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#6

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 09:32
Hallo Union und Marabu,

ihr habt richtig festgestellt, ich möchte das Ganze unabhängig von Delphi in einer SQL-Abfrage realisieren.
Unions Weg funktioniert nicht, da ein Typ-Umwandlungs-Fehler beim Cast auftritt.
Mit Marabus Varianteselect ..., cast('0:00as time) + (b.ts_end - b.ts_start) as dauer,... bekomme ich aber leider nur 00:00:00 zurück.
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#7

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 09:34
Aber so gehts...
select ...,cast('0:00as time) + (cast(b.ts_end as time) - cast(b.ts_start as time)) as dauer,... Danke und freundliche Grüße zurück

René
  Mit Zitat antworten Zitat
marabu

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

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 1. Dez 2005, 10:07
Hallo René,

Zitat von smudo:
Mit Marabus Variante ... bekomme ich aber leider nur 00:00:00 zurück.
mein Code funktioniert mit TIME Feldern, wie im verlinkten Beitrag gefordert. Du arbeitest mit TIMESTAMP Feldern. Habe vergessen dich auf die nötige Anpassung hinzuweisen - Sorry. Die wesentliche Information für dich war eigentlich das hier:

cast('0:00as time) Hast es ja trotzdem hinbekommen.

Vorweihnachtliche Grüße vom marabu
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#9

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 8. Dez 2005, 09:26
Hallo ,

ich greife meine Frage nochmal auf.

Jetzt benötige ich nicht die Ausgabe als Time, sondern als Int
Das heißt, ich möchte die Anzahl der Sekunden oder Millisekunden ausgeben.
Ist eine solche Conversion möglich?

Danke im Voraus

René
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#10

Re: 2 Timestamps subtrahieren und im Zeitformat ausgeben

  Alt 8. Dez 2005, 09:32
Sorry, ich war einen Schritt vor der Lösung...

Aber falls es jemanden interessiert:
cast((cast(b.ts_end as time) - cast(b.ts_start as time)) as int) gibt mir die Dauer in Sekunden aus.

Danke an mich selbst
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:50 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