SORU
12 Temmuz 2009, Pazar


Nasıl birisi hesaplamak'Java yaş s?

Java bir yöntem bir int olarak yılda bir yaş geri dönmek istiyorum. Şimdi ben ne aşağıdaki getBirthDate() bir Date nesnesini döndürür (doğum tarihi ;-)):

public int getAge() {
	long ageInMillis = new Date().getTime() - getBirthDate().getTime();

	Date age = new Date(ageInMillis);

	return age.getYear();
}

Ama getYear (beri) bunu yapmanın daha iyi bir yolu olup olmadığını merak ediyorum kaldırılmış? Yerde hiçbir birim testleri var beri hatta bu düzgün çalışır emin değilim (henüz).

CEVAP
12 Temmuz 2009, Pazar


Check out Joda, hangi kolaylaştırır tarih/saat hesaplamaları (Joda da temeli olan yeni standart Java tarih/saat API, bu yüzden bir öğrenme yakında-to-be-standart API).

EDİT: Java 8 something very similar ve incelemeye değer.

örneğin

LocalDate birthdate = new LocalDate (1970, 1, 20);
LocalDate now = new LocalDate();
Years age = Years.yearsBetween(birthdate, now);

istediğiniz olabilir gibi basit. Geçerli Java şeyleri tespit ettiğin gibi) biraz sezgisel olmayan.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • mliskIT

    mliskIT

    29 Mart 2012
  • Photoshop Pro Help

    Photoshop Pr

    1 Ocak 2007