![]() |
Datenbank: mySQL • Version: 5.5 • Zugriff über: ZeosLib
Zeiten SUM und ZA mit minus Zeiten ausgeben
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 |
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
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.
|
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
In MySQL zumindest nicht, da ja dort das Datums-/Zeitformat auf Strings basiert. In anderen DBMS werden solche Werte als Fließkommazahlen gespeichert.
|
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
Okay und wie kann ich das als double abspeichern. Sorry wenn ich so Frage habe aber sowas noch nie gemacht.
Danke |
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
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
|
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
das heißt ich soll auf timestamp umstellen oder verstehe ich das falsch?
|
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
Auf Double sollte ja schon reichen und dann die die Zeitwerte dann so in die DB schreiben
|
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
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 |
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
Einen Double
SQL-Code:
insert into <tabelle> ( kommen, ...) values (:kommen, ...);
Delphi-Quellcode:
bzw.
ds.Params.ParamByName('kommen').Value := ...
Delphi-Quellcode:
ds.Params.ParamByName('kommen').asFloat := ...
|
AW: Zeiten SUM und ZA mit minus Zeiten ausgeben
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 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