# Verständnisfrage Sekunden/Tage Umrechnung



## Angelika_25 (16. Jan 2009)

Hallo Leute, und zwar habe ich folgendes Problem. Die Fragestellung:

Schreiben Sie ein Programm, das einen Sekunden-Wert in einer int-Variablen sec speichert und diesen Wert in Jahre, Tage, Stunden, Minuten und Sekunden zerlegt. Das Programm soll z.B. folgendes ausgeben: (modulo Aufgabe)

158036521 Sekunden entsprechen:
5 Jahren,
4 Tagen,
3 Stunden,
2 Minuten und
1 Sekunden.

Ich habe folgenden Code:

```
public class Aufgabe_4 {
	public static void main (String [] args) {
		int sec=158036521;
		int jahre=sec/60/60/24/365;
		int tage=sec/60/60/24%365;
		int stunden=sec/60/60%24;
		int minuten=sec/60%60;
		int sekunden=sec%60;

		
		System.out.println(sec+" Sekunden entsprechen: ");
		System.out.println(jahre+" Jahren,");
		System.out.println(tage+" Tagen,");
		System.out.println(stunden+" Stunden,");
		System.out.println(minuten+" Minuten und");
		System.out.println(sekunden+" Sekunden.");
			}
}
```

Dieser Code funktioniert auch, nur leider habe ich totale Verständnisprobleme. Das mit den Jahren verstehe ich noch, denn da ich jahre als int deklariert habe, wird der Rest nicht berücksichtigt. Aber wenn ich jetzt meinen Taschenrechner nehme und jahre so ausrechne wie es dort steht (int tage=sec/60/60/24%365, dann kommen da komische Zahlen und alles andere als " 4 Tagen" (0113....) hinter der 5. Ich stehe total auf dem Schlauch. Den Code konnte ich nur lösen durch ausprobieren. Könnte das mir mal jemand für Doofe erklären?

Liebe Grüße


----------



## Lay-C (16. Jan 2009)

Hmm also bei mir kommt bei den Tagen 4.1264 raus... und wenn man das dann als int Wert nimmt sinds eben 4...

Rechnung:

158036521 / 60 = 2633942 (Integer Division)
2633942    / 60 = 43899 (Integer Division)
43899 /24 = 1829 (Integer Division)
1829 % 365 = 4 (Modulo)

Das Modulo am Schluss musst du machen, da sonst die Tage mitgezählt werden die schon in den Jahren enthalten sind.


----------



## The_S (16. Jan 2009)

Guck mal hier

http://www.java-blog-buch.de/d-differenz-zweier-daten-jdk-11/


----------



## Angelika_25 (16. Jan 2009)

Ach bin ich blöd. Ihr habt Recht. Ich hab bei dem Taschenrechner nicht mit den int-Werten weitergerechnet, sondern mit den double Werten und habe nur zum Schluss den Restwert genommen.

Total blöd!!

Vielen Dank für die schnelle Hilfe.

Viele liebe Grüße


----------

