Hallo,
ich habe mich durch die verschiedenen Threads zur Zeitberechnung gew?hlt, glaube alles richtig zu machen und erhalte doch keine L?sung.
In meiner Datenbank befinden sich zwei Felder HB (hours begin) und HE (hours end) beide vom Typ time.
Beide werden in meinem Formular abgefragt. mit dem Ajax-Event onChange auf diese Felder soll die Zeitspanne dazwischen errechnet werden.
Daf?r habe ich das Feld {Dauer} eingerichtet. Das Feld hat den Datentyp Zeit, Anzeigeformat ist hhmm und internes Format steht auf HH:II:SS. Das Feld ist f?r die manuelle Bearbeitung deaktiviert.
Jetzt zur Programmierung:
$dauer = sc_time_diff({HE},“HH:II”,{HB},“HH:II”);
sc_ajax_message(‘Dauer’,$dauer);
{Dauer} = $dauer;
Vorne habe ich den h?heren Wert eingestellt, hinten den niedrigeren. Ich habe das Zeitformat im Makro in doppelte Anf?hrungszeichen (") gestellt, genauso wie in einfache (’).
Ich erhalte weder die Ajax Message, noch tut sich irgendetwas im Feld Dauer.
So langsam gehen mir die Ideen aus, was ich noch falsch gemacht haben k?nnte.
Wahrscheinlich werde ich, wenn ich das Problem gel?st habe, auch noch daran knobeln wie ich eine Dauer bestimmen kann, die ?ber 0 Uhr hinaus geht.
Also beispielsweise von 21:00 Uhr bis 3:00 Uhr.
In der Regel rechne ich das so, dass ich intern vorne 12 h abziehe und hinten 12 h hinzu addiere. Also 9:00 und 15:00. Die Differenz w?re in dem Fall auch wieder 6 h.
Kann mir jemand dazu helfen?
(Zusatzfrage: In dem Zeitfeld w?rde ich gerne auch einstellige Stunden eingeben k?nnen. Wenn ich beispielsweise 9:00 Uhr eingebe, muss ich 0900 eingeben. Wenn ich 900 eingebe, kommt 90:0 und dann eine Fehlermeldung.
Bei Dezimalzahlen gibt es daf?r das Feld, Automatisches Auff?llen mit Nullen. Gibt es da einen Workaround zu?