Hallo,
ich hab folgendes Problem. Ich lese aus einer Datenbank (Access^^) tägliche Arbeitszeiten aus. Es wird momentan berechnet Ende - Anfang, somit erhalte ich schon korrekter Weise meine täglichen Arbeitsstunden.
Nun möchte ich ALLE Arbeitsstunden aufaddieren. Die Ausgabe soll natürlich in Stunden sein, sodass am Ende bspw 38 Stunden rauskommen.
Anbei, ein wenig Code, so wie es momentan ausschaut - habe für die Zeitberechnung bisher Calendar- Objekte verwendet:
ich hab folgendes Problem. Ich lese aus einer Datenbank (Access^^) tägliche Arbeitszeiten aus. Es wird momentan berechnet Ende - Anfang, somit erhalte ich schon korrekter Weise meine täglichen Arbeitsstunden.
Nun möchte ich ALLE Arbeitsstunden aufaddieren. Die Ausgabe soll natürlich in Stunden sein, sodass am Ende bspw 38 Stunden rauskommen.
Anbei, ein wenig Code, so wie es momentan ausschaut - habe für die Zeitberechnung bisher Calendar- Objekte verwendet:
Code:
while (rs.next()) { Beginn = rs.getString("Beginn").substring(11,16); System.out.println("Arbeitsbeginn: "+Beginn); Ende = rs.getString("Ende").substring(11,16); System.out.println("Arbeitsende: "+Ende); Arbeitsbeginn = Beginn.split(":"); Arbeitsende = Ende.split(":"); c1.set(Calendar.HOUR, Integer.parseInt(Arbeitsbeginn[0])); c2.set(Calendar.HOUR, Integer.parseInt(Arbeitsende[0])); if ( c1.getTimeInMillis() < c2.getTimeInMillis()) { c3.set(Calendar.HOUR, Integer.parseInt(Arbeitsende[0]) - Integer.parseInt(Arbeitsbeginn[0])); c3.set(Calendar.MINUTE, Integer.parseInt(Arbeitsende[1])-Integer.parseInt(Arbeitsbeginn[1])); System.out.println("gearbeitet: " +DateFormat.getTimeInstance(DateFormat.SHORT).format(c3.getTimeInMillis())); System.out.println(""); c4.set(Calendar.HOUR, c4.HOUR + c3.HOUR); c4.set(Calendar.MINUTE, c4.MINUTE + c3.MINUTE); System.out.println("Gesamtarbeit: " +DateFormat.getTimeInstance(DateFormat.SHORT).format(c3.getTimeInMillis())); System.out.println(""); System.out.println(""); } if (c1.getTimeInMillis() > c2.getTimeInMillis()) { c3.set(Calendar.HOUR, Integer.parseInt(Arbeitsende[0]) - Integer.parseInt(Arbeitsbeginn[0])-12); c3.set(Calendar.MINUTE, Integer.parseInt(Arbeitsende[1])-Integer.parseInt(Arbeitsbeginn[1])); System.out.println("gearbeitet: " +DateFormat.getTimeInstance(DateFormat.SHORT).format(c3.getTimeInMillis())); System.out.println(""); c4.set(Calendar.HOUR, c4.HOUR + c3.HOUR); c4.set(Calendar.MINUTE, c4.MINUTE + c3.MINUTE); System.out.println(""); System.out.println(""); System.out.println("Gesamtarbeit: " +DateFormat.getTimeInstance(DateFormat.SHORT).format(c3.getTimeInMillis())); }
Comment