Alter berechnen

G

Gott1992

Gast
Hey
ich habe einen String, der wie ein Datum ist ( tt.mm.yyyy )
Beispiel:
Java:
String Datum = "12.05.1990";

Wie kann ich mit einem einfachem Java Code das Alter (in Jahren, keine genauten Tage) berechnen ?
 

njans

Top Contributor
Java:
String[] daten = Datum.split("\\.");

// Anschließend kannst du dann sowas machen:
int tag = Integer.parseInt(daten[0]);
int monat = Integer.parseInt(daten[1]);
int jahr =Integer.parseInt(daten[2]);

Also damit solltest du dann ohne Probleme eine Differenz zu dem aktuellen Datum hinbekommen :)
 
M

Marcinek

Gast
Indem man 2011 - 1990 macht.

Das aktuelle Datum kann man sich mit dem Calendar holen.

Wenn man dann noch den Monat vergleicht, kann man sehen ob vollendet oder nicht.

Gruß,

Martin
 

ARadauer

Top Contributor
ungefähr...

Java:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Test {
    
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
        String datumString = "12.05.1990"; 
        
        Date datum = df.parse(datumString);
        Date heute = new Date();
        long ms = heute.getTime()-datum.getTime();
        long sek= ms/1000;
        long min = sek/60;
        long std = min/60;
        long tage = std/24;
        long jahre = tage/365;
        System.out.println("jahre: "+jahre);
    }

}
 

turtle

Top Contributor
Oder so:
Java:
	private int diffYears(Date dtStart, Date dtEnd) {
		GregorianCalendar calStart = new GregorianCalendar();
		GregorianCalendar calEnd = new GregorianCalendar();
		calStart.setTime(dtStart);
		calEnd.setTime(dtEnd);
		int compareTo = calEnd.compareTo(calStart);
		if (compareTo < 0) {
			return -diffYears(dtEnd, dtStart);
		}
		int y0 = calStart.get(java.util.Calendar.YEAR);
		int y1 = calEnd.get(java.util.Calendar.YEAR);
		int years = y1 - y0;
		calStart.add(Calendar.YEAR, years);
		compareTo = calEnd.compareTo(calStart);
		if (compareTo < 0) {
			return years - 1;
		} else {
			return years;
		}
	}
 

dehlen

Bekanntes Mitglied
Oder wie njans vorgeschlagen hat:
Java:
import java.io.*;

public class Alter {
public static void main(String[] args) {
System.out.println("Datum eingeben in dd.MM.yyyy Format");
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
try {
String datum = input.readLine();
String[] daten = datum.split("\\.");
 
int tag = Integer.parseInt(daten[0]);
int monat = Integer.parseInt(daten[1]);
int jahr =Integer.parseInt(daten[2]);

int alter = 2011 - jahr;
System.out.println("Du bist "+alter+" Jahre alt");
}
catch(IOException e) {
e.printStackTrace();
}

}
}

Wobei hier natürlich nicht geprüft wird ob man schon bereits Geburtstag hatte oder nicht, außerdem könnte man bei dieser Ausführung auch den 40.40.2030 angeben.... aber das sind ja dann nur noch Schönheitskorrekturen :D
 

nrg

Top Contributor
oder so:
Java:
	public static int getAge(int day, int month, int year) {
		Calendar now = Calendar.getInstance();
		int currentMonth = now.get(Calendar.MONTH)+1;
		int possibleAge = now.get(Calendar.YEAR) - year;
		return currentMonth < month || (currentMonth == month && now.get(Calendar.DATE) < day)
				? possibleAge-1
				: possibleAge;
	}

month ist dabei 1-based
 

Cola_Colin

Top Contributor
Oder wie njans vorgeschlagen hat:
Java:
import java.io.*;

public class Alter {
public static void main(String[] args) {
System.out.println("Datum eingeben in dd.MM.yyyy Format");
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
try {
String datum = input.readLine();
String[] daten = datum.split("\\.");
 
int tag = Integer.parseInt(daten[0]);
int monat = Integer.parseInt(daten[1]);
int jahr =Integer.parseInt(daten[2]);

int alter = 2011 - jahr;
System.out.println("Du bist "+alter+" Jahre alt");
}
catch(IOException e) {
e.printStackTrace();
}

}
}

Wobei hier natürlich nicht geprüft wird ob man schon bereits Geburtstag hatte oder nicht, außerdem könnte man bei dieser Ausführung auch den 40.40.2030 angeben.... aber das sind ja dann nur noch Schönheitskorrekturen :D

Nächstes Jahr wird das Programm bei deiner Umsetzung aber falsche Ergebnisse liefern. ;)
 

ocoal

Mitglied
Hallo auch,

es gibt zudem noch den (wirklich komfortablen) Weg mit der Joda-Time Library.

Java:
DateTime birth = DateTime.parse("12.05.1981", DateTimeFormat.forPattern("dd.MM.yyyy"));
int age = new DateTime().year().get() - birth.year().get();

Voilá ;)

-Colin-
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
G Alter berechnen Java Basics - Anfänger-Themen 25
V Alter mit Datum berechnen Java Basics - Anfänger-Themen 2
T Fehlercode bei code der das Alter ausrechnet Java Basics - Anfänger-Themen 2
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
M Gerade/ungerade---alter Forenbeitrag Java Basics - Anfänger-Themen 4
U Alter Berechnung + sortierung Java Basics - Anfänger-Themen 6
N alter mit Date ausrechnen Java Basics - Anfänger-Themen 10
M alter einer datei Java Basics - Anfänger-Themen 6
M hsqldb ( ALter Table test add bla VARCHAR(50) ) Java Basics - Anfänger-Themen 7
E Alter errechnen Java Basics - Anfänger-Themen 4
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5
A Wochentag berechnen Java Basics - Anfänger-Themen 10
Ste3et_C0st Vectoren berechnen Java Basics - Anfänger-Themen 8
L Durchschnitt in der Schleife berechnen Java Basics - Anfänger-Themen 11
A Kreisumfang/-Fläche vom Kreis berechnen Java Basics - Anfänger-Themen 39
L Wochentag berechnen Java Basics - Anfänger-Themen 5
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ausdrücke berechnen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben