Java Päivämäärä ja aika
Ymmärrämme ensin parametrit, jotka koostuvat a:sta Päivämäärä.
Se sisältää ensisijaisesti -
- - vuosi (joko 2 tai 4 numeroa)
- - kuukausi (joko kahdella numerolla, kuukauden 2 ensimmäistä kirjainta tai kuukauden koko sana).
- - data (se on kuukauden todellinen päivämäärä).
- - päivä (päivä annettuna päivämääränä - kuten su, ma, ti jne.)
Mitä tulee tietokonejärjestelmiin, on olemassa melko paljon parametreja, joita voidaan käyttää päivämäärän liittämiseen. Näemme ne tämän aiheen myöhemmissä osissa.
Näytä päivämäärä Java
Katsotaan nyt miten Java anna meille päivämäärä. Ensin katsotaan kuinka saada nykyinen päivämäärä -
Java tarjoaa Date-luokan java.util-paketin alla. Paketti tarjoaa useita tapoja leikkiä päivämäärän kanssa.
Voit käyttää Date-objektia kutsumalla Date-luokan konstruktoria seuraavasti:
import java.util.Date; class Date_Ex1 { public static void main(String args[]) { // Instantiate a Date object by invoking its constructor Date objDate = new Date(); // Display the Date & Time using toString() System.out.println(objDate.toString()); } }
lähtö:
Wed Nov 29 06:36:22 UTC 2017
Yllä olevassa esimerkissä päivämäärä oletusmuodossa, jos haluamme näyttää päivämäärän ja kellonajan toisessa muodossa, ymmärrä ensin päivämäärän muotoilu.
SimpleDateFormat: jäsennys ja muotoile päivämäärät
Olette varmasti kaikki oppineet aakkoset päiväkodissanne….
Oppikaamme nyt päivämäärämuodon ABC:t.
Kirje | Päivämäärä tai aika -komponentti | Esimerkit |
---|---|---|
G | Aikakauden merkki | AD |
y | Vuosi | 2018 |
M | Kuukausi vuodessa | heinäkuuta tai heinäkuuta tai 07 |
w | Viikko vuodessa | 27 |
W | Viikko kuukaudessa | 2 |
D | Päivä vuodessa | 189 |
d | Päivä kuukaudessa | 10 |
F | Viikonpäivä kuukaudessa | 2 |
E | Päivän nimi viikolla | tiistai tai ti |
u | Viikon päivän numero (1 = Monday, …, 7 = sunnuntai) | 1 |
a | Aam/pm merkki | PM |
H | Tunti päivässä (0-23) | 0 |
k | Tunti päivässä (1-24) | 24 |
K | Tunti aamulla/iltapäivällä (0-11) | 0 |
h | Tunti aamulla/iltapäivällä (1-12) | 12 |
m | Minuutti tunnissa | 30 |
s | Toinen minuutilla | 55 |
S | millisekunnin | 978 |
z | Aikavyöhyke | Tyynenmeren normaaliaika; PST; GMT-08:00 |
Z | Aikavyöhyke | -0800 |
X | Aikavyöhyke | -08 tai -0800 tai -08:00 |
Älä huoli, sinun ei tarvitse muistaa kaikkia näitä, ne voidaan viitata milloin tahansa, kun haluat muotoilla tiettyä päivämäärää.
Kuinka SimpleDateFormatia käytetään?
Java tarjoaa SimpleDateFormat-nimisen luokan, jonka avulla voit muotoilla ja jäsentää päivämäärät tarpeidesi mukaan.
Voit käyttää yllä olevia merkkejä määrittääksesi muodon-
Esimerkiksi:
1) Vaadittu päivämäärämuoto: 2012.10.23 20:20:45 PST
Sopiva päivämäärämuoto on vvvv.KK.pp HH:mm:ss zzz
2) Vaadittu päivämäärämuoto:09:30:00 AM 23-May-2012
Sopiva päivämäärämuoto onhh:mm:ss a pp-KKM-vvvv
Vihje: Ole varovainen isojen kirjainten kanssa. Jos erehdyt M:n kanssa m, saat ei-toivottuja tuloksia!
Opitaan tämä koodiesimerkin avulla.
import java.text.SimpleDateFormat; import java.util.Date; class TestDates_Format { public static void main(String args[]) { Date objDate = new Date(); // Current System Date and time is assigned to objDate System.out.println(objDate); String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date } }
lähtö:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Vertaa päivämääriä esimerkki
Hyödyllisin tapa vertailla päivämääriä on käyttää menetelmää - vertailuTo()
Katsotaanpa alla olevaa koodinpätkää -
import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; class TestDates_Compare { public static void main(String args[]) throws ParseException { SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy"); Date dt_1 = objSDF.parse("20-08-1981"); Date dt_2 = objSDF.parse("12-10-2012"); System.out.println("Date1 : " + objSDF.format(dt_1)); System.out.println("Date2 : " + objSDF.format(dt_2)); if (dt_1.compareTo(dt_2) > 0) { System.out.println("Date 1 occurs after Date 2"); } // compareTo method returns the value greater than 0 if this Date is after the Date argument. else if (dt_1.compareTo(dt_2) < 0) { System.out.println("Date 1 occurs before Date 2"); } // compareTo method returns the value less than 0 if this Date is before the Date argument; else if (dt_1.compareTo(dt_2) == 0) { System.out.println("Both are same dates"); } // compareTo method returns the value 0 if the argument Date is equal to the second Date; else { System.out.println("You seem to be a time traveller !!"); } } }
lähtö:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2