AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zeiten SUM und ZA mit minus Zeiten ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Zeiten SUM und ZA mit minus Zeiten ausgeben

Ein Thema von StoRmtec · begonnen am 13. Jun 2011 · letzter Beitrag vom 13. Jun 2011
Antwort Antwort
Seite 1 von 2  1 2      
StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#1

Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:09
Datenbank: mySQL • Version: 5.5 • Zugriff über: ZeosLib
Hallo Community

Hätte wieder mal ein Problem und zwar versuche ich gerade Arbeitszeiten aufzuzeichnen was auch sehr gut funktioniert.
Gebe zB in einer Form meine Begin und Ende und Pause ein
dann rechnet er mir die StundenIST aus und tragt auch StundenSOll ein und errechnet mit die ZA

also zB

kommen - ende - pause - ist - soll - za
08:10 - 17:00 - 00:30 - 08:20 - 08:30 - -00:10
07:50 - 17:00 - 00:30 - 08:40 - 08:30 - 00:10

jetzt möchte ich gerne die ist und soll stunden summieren (also mit sum) und in einem format hh:mm ausgeben wie kann ich das am besten machen. und das zweite wäre dann wie kann ich das auch bei der ZA machen mit minus und plus zeiten das er mir das wegzieht und in diesem Fall ZA 00:00 ist.

Habe auf meiner Tabelle schon die Datentyp auf Time umgestellt.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:35
Du vermischst Uhrzeiten mit Zeitdauern. Die Zeitdauern (wie lange Pause usw.) kann man ja auch als Gleitkommazahl (double) abspeichern und einfach summieren. Bei der Ausgabe dieser Summen muss man dann eben selber rechnen, da die Standard-Datumsformate wohl keine Stunden > 24 ausgeben werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:37
In MySQL zumindest nicht, da ja dort das Datums-/Zeitformat auf Strings basiert. In anderen DBMS werden solche Werte als Fließkommazahlen gespeichert.
Markus Kinzler
  Mit Zitat antworten Zitat
StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#4

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:43
Okay und wie kann ich das als double abspeichern. Sorry wenn ich so Frage habe aber sowas noch nie gemacht.

Danke
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:45
Ein Windows Timestamp ist schon ein Double, vor dem Komma stehen die Tage seit dem 31.12.1899 und nach dem Komma die Sekunden seit Mitternacht
Markus Kinzler
  Mit Zitat antworten Zitat
StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#6

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:47
das heißt ich soll auf timestamp umstellen oder verstehe ich das falsch?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:48
Auf Double sollte ja schon reichen und dann die die Zeitwerte dann so in die DB schreiben
Markus Kinzler
  Mit Zitat antworten Zitat
StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#8

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:52
welchen dateitype muss ich dann in der tabelle einstellen
und könntest du mir schnell ein beispiel machen wie ich das machen kann oder gibts wo eine anleitung.

danke
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 14:56
Einen Double

insert into <tabelle> ( kommen, ...) values (:kommen, ...); ds.Params.ParamByName('kommen').Value := ... bzw. ds.Params.ParamByName('kommen').asFloat := ...
Markus Kinzler
  Mit Zitat antworten Zitat
StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#10

AW: Zeiten SUM und ZA mit minus Zeiten ausgeben

  Alt 13. Jun 2011, 15:01
okay ich mache es so also ist das dann falsch

Delphi-Quellcode:
procedure Tzeitbuchen.Button2Click(Sender: TObject);
begin
  LongTimeFormat := 'hh:mm';
//zeiterfassung.Form1.adouebersicht.active := false; //Übersicht wird deaktiviert
 DB_AZ.Text := formatDatetime('hh:mm',strtotime(DB_AZende.Text)-strtotime(DB_AZbeginn.Text)-strtotime(DB_Pause.Text));
 DB_ZA.Text := formatDatetime('hh:mm',strtotime(DB_SOLL.text)-strtotime(DB_AZ.Text));

 if StrToTime(DB_SOLL.Text) > StrToTime(DB_AZ.Text) then
begin
  x := StrToTime(DB_AZ.Text) - StrToTime(DB_SOLL.Text);
  DB_ZA.Text := '-' + TimeToStr(x);
end
else if StrToTime(DB_AZ.Text) < StrToTime(DB_SOLL.Text) then
begin
  x := StrToTime(DB_SOLL.Text) - StrToTime(DB_AZ.Text);
  DB_ZA.Text := TimeToStr(x);
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:42 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