![]() |
Datenbank: SQL • Version: 2008 • Zugriff über: ADO
Zeitdifferenz berechnen (negativwert)
Hallo Leute
Habe eine Frage und zwar errechne ich eine Zeit was auch schon sehr gut geht aber ich komme einfach nicht weiter. Würde gerne auch negativ Werte haben zB -00:03 min bekomme aber immer nur 00:03 egal ob minus oder plus. Wir kann ich das machen Danke
Delphi-Quellcode:
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)); |
AW: Zeitdifferenz berechnen (negativwert)
Delphi-Quellcode:
?
DB_ZA.Text := '-'+formatDatetime('hh:mm',strtotime(DB_SOLL.text)-strtotime(DB_AZ.Text));
|
AW: Zeitdifferenz berechnen (negativwert)
Danke für die Antwort aber er soll natürlich nur das - machen wenn er auch minus stunden hat.
danke |
AW: Zeitdifferenz berechnen (negativwert)
Delphi-Quellcode:
function FormatDateTimeSigned(const Format: string; DateTime: TDateTime): string;
begin result := SysUtils.FormatDateTime(Format, abs(DateTime)); if DateTime < 0 then result := '-' + result; end; |
AW: Zeitdifferenz berechnen (negativwert)
Wobei ich die Variable nicht DateTime nennen würde, es gibt schließlich eine gleichnamige Variable in den DateUtills
|
AW: Zeitdifferenz berechnen (negativwert)
danke aber wie binde ich das ein
habe irgendwie gerade ein blackput glaube ich danke |
AW: Zeitdifferenz berechnen (negativwert)
PS: Schau dir mal die Definition vom TDateTime an.
Der Nachkommateil ist die Uhrzeit. > Uhrzeiten sind immer positiv |
AW: Zeitdifferenz berechnen (negativwert)
habe es jetzt so hinbekommen
Delphi-Quellcode:
nur habe ich noch ein Problem und zwar zeigt er mir die ausgabe in 00:00:00 an sollte aber 00:00 sein wie kann ich das umstellen noch
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); danke |
AW: Zeitdifferenz berechnen (negativwert)
Zitat:
![]() und was sehen wir? Ach, StrToTime und TimeToStr nutzen die Systemeinstellungen vom Windows. PS: Anderes Land, bzw. andere Spracheinstellung und dein Programm macht eventuell nicht mehr, was es soll. Lösungen: > Die Systemeinstellung vom Windows/Benutzer verändern. (kommt nicht immer so gut an, wenn man einfach so daran rumschraubt) > FormatSettings des Programms anpassen. (Achtung, das kann vom system auch mal wieder überschrieben werden) > Den zweiten Parameter dieser Funktionen nutzen? > Oder wieder die alternative Funktionen verwenden, wie z.B. ![]() |
AW: Zeitdifferenz berechnen (negativwert)
aber das komische ist wenn ich einen positiven wert habe dann stimmt die zeit mit 00:00 beim negativen macht er dann -00:00:00 raus.
danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 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