LocalDate, LocalTime, LocalDateTime
Esitä päivämääriä ja kellonaikoja
LocalDate, LocalTime, LocalDateTime on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.
Moderni päivämäärä-API
Java 8:sta lähtien java.time-paketti on korvannut vanhat, virhealttiit Date- ja Calendar-luokat. Sen tärkeimmät tyypit ovat LocalDate, LocalTime ja LocalDateTime.
Kaikki nämä tyypit ovat muuttumattomia ja säieturvallisia.
LocalDate
LocalDate edustaa päivämäärää ilman kellonaikaa: vuotta, kuukautta ja päivää. LocalDate.now() antaa tämän päivän päivämäärän, mutta testien tulisi käyttää kiinteää päivämäärää, jotta tulos on ennakoitava.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date);
}
}Päivämäärän osien lukeminen
Voitte hakea päivämäärän osat metodeilla getYear, getMonthValue, getDayOfMonth ja kätevällä getDayOfWeek-metodilla.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date.getYear());
System.out.println(date.getMonthValue());
System.out.println(date.getDayOfWeek());
}
}LocalTime
LocalTime edustaa kellonaikaa ilman päivämäärää: tunteja, minuutteja, sekunteja ja nanosekunteja.
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalTime time = LocalTime.of(14, 30, 15);
System.out.println(time);
System.out.println(time.getHour());
}
}LocalDateTime
LocalDateTime yhdistää päivämäärän ja kellonajan yhdeksi arvoksi. Siihen ei edelleenkään liity aikavyöhykettä.
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
System.out.println(dt);
}
}Päivämäärän ja kellonajan yhdistäminen
Voitte yhdistää LocalDate-arvon LocalTime-arvoon käyttämällä atTime-metodia, jolloin tuloksena on LocalDateTime.
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDate d = LocalDate.of(2026, 5, 30);
LocalTime t = LocalTime.of(8, 0);
LocalDateTime dt = d.atTime(t);
System.out.println(dt);
}
}Muuttumattomuus ja with
Nämä tyypit ovat muuttumattomia. withYear-metodin kaltaiset metodit palauttavat uuden muokatun kopion eivätkä muuta alkuperäistä arvoa.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate original = LocalDate.of(2026, 5, 30);
LocalDate changed = original.withYear(2030);
System.out.println(original);
System.out.println(changed);
}
}Päivämäärien vertaaminen
Käyttäkää metodeja isBefore, isAfter ja isEqual aikajärjestyksen vertaamiseen selkeästi.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate a = LocalDate.of(2026, 1, 1);
LocalDate b = LocalDate.of(2026, 12, 31);
System.out.println(a.isBefore(b));
System.out.println(a.isAfter(b));
}
}Hyödylliset kyselyt
Aputoiminnot vastaavat yleisiin kysymyksiin, kuten siihen, onko vuosi karkausvuosi (isLeapYear) tai montako päivää kuukaudessa on (lengthOfMonth).
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2024, 2, 1);
System.out.println(date.isLeapYear());
System.out.println(date.lengthOfMonth());
}
}Jäsentäminen tekstistä
Jokainen tyyppi voi jäsentää ISO-muotoisen merkkijonon. LocalDate.parse lukee esimerkiksi arvon 2026-05-30.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.parse("2026-05-30");
System.out.println(date.getMonth());
}
}Oikean tyypin valitseminen
Käyttäkää LocalDate-tyyppiä syntymäpäiviin ja kalenteripäiviin, LocalTime-tyyppiä aukioloaikoihin ja LocalDateTime-tyyppiä tapaamiseen, jossa päivämäärä ja kellonaika yhdistyvät. Mikään näistä ei sisällä aikavyöhykettä.
Pikatarkistus
Testatkaa, kuinka hyvin hallitsette keskeiset päivämäärä- ja kellonaikatyypit.
Kertaus
Opitte keskeiset java.time-tyypit:
LocalDatepäivämääriä,LocalTimekellonaikoja jaLocalDateTimemolempia varten- Kaikki ovat muuttumattomia;
with-metodit palauttavat uusia kopioita - Lukekaa osia metodeilla
getYear,getDayOfWeekja vastaavilla gettereillä - Vertailkaa arvoja metodeilla
isBeforejaisAfter - Jäsentäkää ISO-merkkijonoja metodilla
parse
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”LocalDate, LocalTime, LocalDateTime” ilmainen?
Kyllä – oppitunnin ”LocalDate, LocalTime, LocalDateTime” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”LocalDate, LocalTime, LocalDateTime”?
Esitä päivämääriä ja kellonaikoja Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”LocalDate, LocalTime, LocalDateTime”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- LocalDate, LocalTime, LocalDateTime
- Instant ja Duration
- Period ja päivämääräaritmetiikka
- Muotoilu DateTimeFormatterilla