Java Kuupäev ja aeg
Kõigepealt mõistame parameetreid, mis koosnevad a-st kuupäev.
See sisaldab peamiselt –
- . aasta (kas 2 või 4 numbriga)
- . kuu (kas kahekohalisena, kuu 2 esimest tähte või kogu kuu sõna).
- . andmed (see on kuu tegelik kuupäev).
- . päev (päev antud kuupäeval – nt P, E, T jne)
Mis puutub arvutisüsteemidesse, siis on üsna palju parameetreid, mida saab kuupäevaga seostada. Näeme neid selle teema hilisemates osades.
Kuva kuupäev sisse Java
Nüüd vaatame, kuidas Java andke meile kuupäev. Esiteks vaatame, kuidas saada praegune kuupäev -
Java pakub paketi java.util all klassi Date, Pakett pakub mitmeid meetodeid kuupäevaga mängimiseks.
Objekti Date saate kasutada, kutsudes välja Date klassi konstruktori järgmiselt:
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()); } }
Väljund:
Wed Nov 29 06:36:22 UTC 2017
Ülaltoodud näites on kuupäev vaikevormingus näidatud, kui tahame kuupäeva ja kellaaega mõnes muus vormingus kuvada, mõistke esmalt kuupäeva vormindamist.
SimpleDateFormat: Parsi ja vorminda kuupäevi
Te kõik olete kindlasti õppinud oma lasteaias tähestikku….
Õppigem nüüd kuupäevavormingu ABC-d.
Kiri | Kuupäeva või kellaaja komponent | Näited |
---|---|---|
G | Ajastu tähis | AD |
y | Tootmisaasta | 2018 |
M | Kuu aastas | juuli või juuli või 07 |
w | Nädal aastas | 27 |
W | Nädal kuus | 2 |
D | Päev aastas | 189 |
d | Päev kuus | 10 |
F | Nädalapäev kuus | 2 |
E | Päeva nimi nädalas | teisipäeval või teisipäeval |
u | Nädala päevade arv (1 = Monday, …, 7 = pühapäev) | 1 |
a | Am/pm marker | PM |
H | Tund päevas (0-23) | 0 |
k | Tund päevas (1-24) | 24 |
K | Tund hommikul/õhtul (0-11) | 0 |
h | Tund hommikul/õhtul (1-12) | 12 |
m | Minut tunnis | 30 |
s | Minuti teine | 55 |
S | Millisekund | 978 |
z | Ajavöönd | Vaikse ookeani standardaeg; PST; GMT-08:00 |
Z | Ajavöönd | -0800 |
X | Ajavöönd | -08 või -0800 või -08:00 |
Ärge muretsege, te ei pea neid kõiki meeles pidama, neile saab viidata igal ajal, kui peate konkreetse kuupäeva vormindama.
Kuidas SimpleDateFormatit kasutada?
Java pakub klassi nimega SimpleDateFormat, mis võimaldab teil kuupäevi vormindada ja sõeluda vastavalt teie vajadustele.
Vormingu määramiseks saate kasutada ülaltoodud märke
Näiteks:
1) Nõutav kuupäevavorming: 2012.10.23 20:20:45 PST
Määratud sobiv kuupäevavorming on yyyy.MM.pp HH:mm:ss zzz
2) Nõutav kuupäevavorming:09:30:00 AM 23-May-2012
Määratud sobiv kuupäevavorming onhh:mm:ss a pp-KKM-aaaa
Vihje: Olge suurtähtede kasutamisega ettevaatlik. Kui segate M-iga m, saate soovimatuid tulemusi!
Õppime seda koodinäite abil.
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 } }
Väljund:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Kuupäevade võrdlemise näide
Kõige kasulikum viis kuupäevade võrdlemiseks on kasutada meetodit - võrdleTo()
Vaatame allolevat koodilõiku -
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 !!"); } } }
Väljund:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2