Tulevan tai menneen päivämäärän laskeminen

Java:
Tulevan tai menneen päivämäärän laskeminen

Näin se tehdään:

Java tarjoaa LocalDate-luokan päivämäärien käsittelyyn. Tässä on esimerkki, jossa lasketaan tulevaisuuden päivämäärä:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class DateCalculator {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        LocalDate tenDaysLater = today.plusDays(10);

        System.out.println("Tänään: " + today);
        System.out.println("Kymmenen päivän päästä: " + tenDaysLater);
        
        LocalDate sixMonthsAgo = today.minus(6, ChronoUnit.MONTHS);
        System.out.println("Kuusi kuukautta sitten: " + sixMonthsAgo);
    }
}

Tulostus:

Tänään: 2023-04-01
Kymmenen päivän päästä: 2023-04-11
Kuusi kuukautta sitten: 2022-10-01

Syväsukellus

Aikaisemmin Java käytti Date- ja Calendar-luokkia, mutta ne olivat kömpelöitä ja virhealttiita. Java 8 toi mukanaan java.time-paketin, joka on vahvempi ja selkeämpi.

Vaihtoehtoja sisäänrakennetuille työkaluille ovat Joda-Time-kirjasto tai kolmansien osapuolien date and time -kirjastot. Joda-Time innoitti java.time-paketin, mutta sen jälkeen se on suositeltu korvattavaksi Javan uudemmilla työkaluilla.

Päivämäärien laskemisessa voi esiintyä aikavyöhykeongelmia. ZonedDateTime auttaa hallitsemaan aikavyöhykkeiden eroja. Tämä on tärkeää, kun sovellukset toimivat globaalisti eri aikavyöhykkeillä.

Katso myös