Berechnung in viertel (1/4) Schritte

Hallo Zusammen,

obwohl mein Anliegen sehr einfach klingt, habe ich große Probleme mit der Umsetzung :(

Java:
public class Test {
	public static void main(String[] args) {
	
		double ankunft = 5.00;
		double abfahrt = 8.00;
		double pause = 0.30;
		
		double dauer = abfahrt-ankunft-pause;
		
		// Anzeige: 2.70 <-- hätte gerne 2.30
		System.out.println(dauer);
	}
}

Erklärung des Beispiel:
Wenn ich um 5 ankomme und um 8 abfahre, habe ich 3h gearbeitet. Wenn ich 0.30 Minuten Pause mache, habe ich 2.30h gearbeitet. Die Anwendung gibt natürlich 2.70 aus statt 2.30.

Ich habe keine Idee, wie ich dass rechnen kann?! *peinlich*
Habs mit Calender versucht, aber Calendar akzeptiert nur int.


Grüße,
Angelika
 
Hi

Naja, 30 Minuten wären ja eigentlich auch 0.5 Stunden...
Ob das Komma als Zeittrennzeichen so sinnvoll ist?

Wenn es so bleiben soll, zuerst alles in Minuten umrechnen,
subtrahieren, und wieder zu hh.mm umrechnen.

hh.mm -> Minuten:
Java:
double x;
...
int y = (int)(x * 100.0);
y = ((y / 100) * 60) + (y % 100);

Minuten -> hh.mm
Java:
int x;
...
double y = ((double)(x / 60)) + (((double)(x % 60)) / 100.0);
Ungetestet.

Trotzdem gibt es noch Probleme, wenn zB. Mitternacht dazwischen ist...
Calendar wäre in jedem Fall sinnvoller.
Die ints sind Timestamps, also wieviel Sekunden seit 1.1.1970 vergangen sind.
Hat aber genug Umrechnungsmöglichkeiten
von normalen Zeiten zu Timestamps und umgekehrt.

Gruß
 
Zurück