Simpele vraag

Status
Niet open voor verdere reacties.

ward073

Nieuwe gebruiker
Lid geworden
25 apr 2010
Berichten
4
Ik heb een Integer variable geboorteDatum (jjjjmmdd).
Nu wil ik een methode schrijven waarmee ik de leeftijd kan berekenen aan de hand van die geboorteDatum. Ik heb geen idee hoe ik dit moet oplossen heeft iemand suggesties?
 
He ik heb even voor je gekeken er er zijn vast mooiere manieren, maar hier is een oplossing in programma-vorm:

Code:
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Substring {

	public Substring() {
		getLeeftijd(19910927);
	}

	public int getLeeftijd(int gebdatum) {
		String sgebdatum = Integer.toString(gebdatum);

		String jaar = sgebdatum.substring(0, 4);
		String maand = sgebdatum.substring(4, 6);
		String dag = sgebdatum.substring(6, 8);

		String vandaagdag = "";
		String vandaagmaand = "";
		String vandaagjaar = "";

		Calendar calendar = Calendar.getInstance();
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");

		try {
			String date = dateFormat.format(calendar.getTime());

			vandaagjaar = date.substring(0, 4);
			vandaagmaand = date.substring(4, 6);
			vandaagdag = date.substring(6, 8);
		} catch (Exception e) {
			e.printStackTrace();
		}

		if (vandaagjaar != "" || vandaagdag != "" || vandaagmaand != "") {
			int leeftijdsjaar = Integer.parseInt(vandaagjaar) - Integer.parseInt(jaar);
			if (Integer.parseInt(vandaagmaand) < Integer.parseInt(maand)) {
				leeftijdsjaar -= 1;
			} else {
				if (Integer.parseInt(vandaagmaand) == Integer.parseInt(maand)) {
					if (Integer.parseInt(vandaagdag) > Integer.parseInt(dag)) {
						leeftijdsjaar -= 1;
					}
				}
			}
			System.out.println(leeftijdsjaar);
			return leeftijdsjaar;
		}
		return 0;
	}

	public static void main(String args[]) {
		Substring string = new Substring();
	}
}
:)
 
Als je geen probleem meer hebt, zou je de vraag dan als "opgelost" willen markeren.


M.v.g.
NewbProg
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan