Ratkaistu: Java-ikä päivämäärästä

Viimeisin päivitys: 06/19/2023
Kirjoittaja: Java SourceTrail

ikä päivämäärästä alkaen Nykymaailmassa iän laskeminen tietystä päivämäärästä on yleinen tehtävä, etenkin sovelluksissa, joissa iän varmistus tai syntymäpäiväilmoitukset ovat tärkeitä ominaisuuksia. Meidän on usein laskettava henkilön ikä syntymäajan perusteella. Tässä artikkelissa keskustelemme iän laskemisesta annetusta päivämäärästä Javalla. Käymme läpi vaiheittaisen selityksen koodista ja perehdymme ongelmaan liittyviin eri näkökohtiin, kuten kirjastoihin ja toimintoihin.

Ratkaistaksemme iän laskemisen päivämäärästä, voimme käyttää Javan sisäänrakennettuja luokkia, kuten LocalDate ja Period. Nämä luokat ovat osa Java 8:ssa käyttöön otettua Java Time API:ta, joka on suunniteltu yksinkertaistamaan päivämäärän ja kellonajan laskemista.

import java.time.LocalDate;
import java.time.Period;

public class AgeCalculator {

    public static void main(String[] args) {
        LocalDate birthDate = LocalDate.of(1990, 1, 1);
        LocalDate currentDate = LocalDate.now();
        int age = calculateAge(birthDate, currentDate);
        System.out.println("Age: " + age);
    }

    public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
        Period period = Period.between(birthDate, currentDate);
        return period.getYears();
    }
}

Puretaan koodi vaihe vaiheelta. Ensin tuomme tarvittavat luokat, LocalDate ja Period. Luomme sitten luokan nimeltä AgeCalculator päämenetelmällä, joka alustaa syntymäpäivän ja nykyisen päivämäärän käyttämällä LocalDate-luokkaa. Sitten kutsutaan calculateAge-menetelmää annetuilla syntymä- ja nykyisillä päivämäärillä argumenteina.

calculateAge-menetelmässä käytämme Period.between()-menetelmää, joka laskee kahden päivämäärän välisen ajanjakson. Lopuksi palautamme eron vuosina kutsumalla menetelmää "getYears()" lasketulla jaksolla.

Java Time API

Java Time API, joka tunnetaan myös nimellä Java Date and Time API, on tehokas Java 8:ssa käyttöön otettu kirjasto päivämäärään ja aikaan liittyvien tehtävien käsittelyyn. Se on suunniteltu intuitiivisemmaksi, vankemmaksi ja helppokäyttöisemmäksi kuin edeltäjänsä, java.util.Date- ja Calendar-luokat, joissa oli lukuisia ongelmia ja rajoituksia.

Jotkut Java Time API:n tärkeimmistä ominaisuuksista ovat:

  • Muuttumattomat ja lankaturvalliset luokat.
  • Selkeä ero ihmisen luettavissa olevan päivämäärän ja ajan esitystavan ja koneen ajan esitystavan välillä.
  • Joustava ja laajennettava API tukemaan erilaisia ​​kalentereita ja ajanottojärjestelmiä.
  • Sisäänrakennettu tuki aikavyöhykkeille ja kesäaikaan.

Käyttämällä jaksoa ja paikallista päivämäärää

Ajanjakso luokka Javassa edustaa ajanjaksoa, joka ilmaistaan ​​vuosina, kuukausina ja päivinä. Se on hyödyllinen luokka kahden päivämäärän välisen eron laskemiseen, kuten ikälaskentaesimerkissämme näkyy.

LocalDate luokka puolestaan ​​edustaa päivämäärää ilman aika- ja aikavyöhyketietoja. Se on hyödyllinen syntymäpäivien, tapahtumapäivien tai muiden päivämäärien esittämiseen, jolloin aikatietoja ei tarvita.

Ikälaskentaesimerkissämme käytimme Period.between()-menetelmää laskeaksemme kahden LocalDate-esiintymän – syntymäpäivän ja nykyisen päivämäärän – välisen eron. Tuloksena oleva Period-objekti antaa meille vuosien, kuukausien ja päivien eron kahden päivämäärän välillä, mikä helpottaa henkilön iän laskemista.

Yhteenvetona voidaan todeta, että iän laskeminen päivämäärästä voidaan helposti saavuttaa käyttämällä Javan sisäänrakennettuja luokkia, kuten LocalDate ja Period. Nämä luokat yhdessä laajemman Java Time API:n kanssa tarjoavat tehokkaan ja joustavan ratkaisun päivämäärä- ja aikalaskelmien käsittelyyn Java-sovelluksissasi.

Related viestiä: