# Millisekunden umwandeln in Jahre, Monate, Tage, Stunden



## DStrohma (28. Aug 2008)

hi leute,

ich hab die differenz (in millisekunden) aus zwei Datumsdaten und will diese differenz jetzt umwandeln in ein format von:

... Jahre, ... Monate, ... Tage, ... Stunden.

ich will also, dass mir danach angezeigt wird wieviele jahre, monate, usw. das ganze sind. ich will nicht nur eine einheit darstellen! also nicht NUR minuten oder jahre oder sowas, sondern alle vier einheiten. gibt es in java eine möglichkeit das direkt umzurechnen oder muss ich dafür selber ne methode schreiben?

gruß und danke schon mal,
DS


----------



## Verjigorm (28. Aug 2008)

new SimpleDateFormat("yyyy 'Jahre' MM 'Monate' dd 'Tage' hh:ss 'Minuten:Sekunden'").format(deinLong)

bissl Anpassen und/oder über SimpleDateFormat informieren


----------



## SlaterB (28. Aug 2008)

und Sommer-/ Winterzeit/ Zeitzonen/ Schaltjahre/ Monatslängen bedenken vom 1.1.1970 aus gesehen

oder doch lieber per Hand durch 3600 teilen usw.


----------



## DStrohma (28. Aug 2008)

ich glaub ich habs...


```
public String Zeitraum(long diff)
	{
		long sek = (diff / 1000);
		
		long jhr = (long)Math.floor(sek / 31536000);
		sek -= (jhr*31536000);
		long mon = (long)Math.floor(sek / 2592000);
		sek -= (mon*2592000);
		long tag = (long)Math.floor(sek / 86400);
		sek -= (tag*86400);
		long std = (long)Math.floor(sek / 3600);
		sek -= (std*3600);
		long min = (long)Math.floor(sek / 60);
		sek -= (min*60);
		
		return (jhr + " Jahr(e), " +  mon + " Monat(e), " + tag + " Tag(e) "
				+ std + " Stunde(n), " + min + " Minute(n) und " + sek + " Sekunde(n)");
	}
```

sollte so eigentlich gehen. aber danke trotzdem


----------



## Leroy42 (28. Aug 2008)

SlaterB hat gesagt.:
			
		

> und Sommer-/ Winterzeit/ Zeitzonen/ Schaltjahre/ Monatslängen bedenken vom 1.1.1970 aus gesehen



 :shock: 

(  )


----------



## xysawq (29. Aug 2008)

Also ich finde Monate eine sehr ungenaue Zeiteinheit, da die Länge eben zwischen 28 und 31 Tagen schwankt. (Hui... ich kann den Kalender.)

Du gehst aber von 30 Tagen in jedem Monat und 365 Tagen in jedem Jahr aus, wodurch ein Jahr 12,166667 Monate hätte, den nach Dezember (bzw. vor Januar) kenne ich aber nicht.

Wenn du es richtig durchschnittlich machen willst, dann gehe von 365,25 Tagen im Jahr aus (jedes 4. ist ja einen Tag länger) und von 30,4375 Tagen pro Monat (berechnet: 365,25/12).

Dann kann man zumindest von festgelegten Größen ausgehen.


----------

