# Differenz zwischen zwei Uhrzeiten



## Andorian (25. Mrz 2009)

Guten Morgen zusammen.

Ich hab da mal ne Frage zur Uhrzeit, hab es schon gegoggelt aber nicht verstanden^^

Ich möchte gerne die Differnez zwischen zwei Uhrzeiten ausgeben können. Die Uhrzeiten sollen per Textfeld eingelesen werden. Ohne Sekunden oder Tag. Das Datum des Tages steht in einem extra Textfeld.

Also zur verdeutlichung, es geht um eine digitale Stempeluhr.
Heist also ich geb das momentane Datum ein und dann meine Arbeitszeit von, bis abzüglich der Pausen von, bis erhalte ich dann meine IST Arbeitsstunden.

Ich hoffe ihr könnt mir helfen.


----------



## benders (25. Mrz 2009)

Moin,
das Stichwort lautet: DateFormat.

Wenn dann googlen nicht hilft melde Dich nochmal.


----------



## ARadauer (25. Mrz 2009)

vielleicht hilft das...

```
DateFormat df = new SimpleDateFormat("HH:mm");
     
     String time1 = "8:00";
     String time2 = "9:16";
     
     Date date1 = df.parse(time1);
     Date date2 = df.parse(time2);
     
     long dif = date2.getTime()- date1.getTime(); //ms
     
     System.out.println(dif/1000 +" sekunden");
```


----------



## Andorian (25. Mrz 2009)

Habs versucht funktionier dennoch nicht.

Brauch auch noch das Import für DateFormat.

Ich muss halt auch die Uhrzeit aus dem textfeld lesen und da macht er bei mir auch immer schwierigkeiten.

[Edit]
Error: Class DateFormat not found.
        DateFormat df = new SimpleDateFormat("HH:mm");
        ^
Error:Class SimpleDateFormat not found.
        DateFormat df = new SimpleDateFormat("HH:mm");
                            ^
Error:Incompatible type for =. Explicit cast needed to convert long to int.
        c=(dif/1000);

Die fehlermeldungen


----------



## benders (25. Mrz 2009)

import java.text.*;

Das sollte Dir auch die IDE einfügen können.

JTextField uhrzeitTextField = new JTex.......
Date date1= df.parse(uhrzeitTextField.getText());


----------



## ARadauer (25. Mrz 2009)

ich würde eine ide wie eclipse verwenden.. mir ist bewusst, dass bei meinem beispiel nich imports fehlen...

c=(dif/1000);
dein c ist wahrscheinlicht int, das dif ist long....

     int c = (int) (dif/1000);


das sind fehler, da weißt dich eclipse darauf hin und bietet dir sofort passende lösungsmöglichkeiten...


----------



## Andorian (25. Mrz 2009)

Ja das Problem ich bin an Vcafe gebunden quasi und kann/darf nichts anderes verwenden.

Kurz nochmal ne erklärung:
Arbeitszeit:                                

Anfang                    Ende
textfeld1            textfeld2

Pausen:                     

Anfang    Ende
textfeld3             textfeld4

Wie gesagt Arbeitszeit minus Pausen gleich Ist Stundensatz ( am besten in Std und Minuten). Diese müssen in einer datenbank ausgegeben werden: 
                                                                                     pstmt.setInt(3, c);
Also muss c der Ist Stundensatz sein.
Nun muss c noch mal den Stundenlohn genommen werden.
Also G= c*l(Stundenlohn)

Könnt ihr mir viell nen löchungsvorschlag posten, wenn ihr einen wisst.
Danke


----------



## ARadauer (25. Mrz 2009)

jetzt ehrlich? willst du einen löschungsvorschlag, für ein mathematisches problem, das man in der volksschule lernt?

ok.. ausnamsweise...

hol dir die diferenz der dates von textf1 minus textf2, das ist die dauer die er da war in ms
hol dir die diferenz der dates von textf4 minus textf3, das ist die dauer der pause in ms

diese beiden minus, ergibt die dauer die er effektif gearbeitet hat in ms.. /1000 dann hast du sekunden
/ 60 dann hast du minuten /60 dann hast du stunden .. mal dem Stundensatz ... das kannst du dann speichern...


----------

