Hitung Umur (DETAIL) dengan JDateChooser

Selamat malam, setelah sekian lama vakum, akhirnya bisa menulis postingan lagi. Postingan kali ini akan membahas tentang cara menghitung Umur secara detail. Maksudnya secara detail adalah akan ditampilkan umur kita dalam kurun watu tahun, bulan, dan hari. Sebelumnya saya sudah membuat postingan tentang ini disini. Namun dari komentar yang berdatangan dapat dilihat bahwa masih banyak teman-teman yang mengalami kesulitan dalam menjalankan potongan program yang ada di postingan tersebut. Untuk itu kali ini saya akan kembali membahas postingan tersebut secara lebih detail melalui postingan ini. Are you ready ?

Pertama-tama siapkan form yang akan digunakan, sebagai contoh bisa dilihat pada gambar berikut :
*saya anggap anda sudah bisa membuat form seperti ini (^_^)v

image

Kemudian kita klik 2x pada Jbutton HITUNG UMUR untuk meletakkan kode yang akan digunakan untuk melakukan proses perhitungan umur. Untuk kode nya adalah sebagai berikut :

ArrayList<String> nama_hari = new ArrayList<>();
nama_hari.add("Minggu");
nama_hari.add("Senin");
nama_hari.add("Selasa");
nama_hari.add("Rabu");
nama_hari.add("Kamis");
nama_hari.add("Jumat");
nama_hari.add("Sabtu");

Date lahir = jDateChooser1.getDate();
LocalDate today = LocalDate.now();
LocalDate birthday = lahir.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

Period p = Period.between(birthday, today);
long p2 = ChronoUnit.DAYS.between(birthday, today);

lb_output.setText("<html>Anda lahir pada hari <b>"+nama_hari.get(lahir.getDay())+"</b> dan umur anda adalah"
+ "<br>" + p.getYears() + " tahun " + p.getMonths() + " bulan " + p.getDays() + " hari<br>"
+ "<br>Selamat, anda telah menjalani hidup selama <b>"+p2+"</b> hari.. (^_^)v");

Nah setelah mengetik kode diatas, silahkan run program, sehingga hasilnya akan ditampilkan sebagai berikut (saya menggunakan Look And Feel Jtatto dan tanggal lahir yang saya gunakan milik pak Presiden Obama dan dijalankan pada tanggal 24 Februari 2015)  :

image

Sekian postingan ini, selamat mencoba. Untuk keluhan, saran dan pertanyaan silahkan corat-coret di papan komentar dibawah. (^_^)v