În acest tutorial, veți învăța -
- Afișează data curentă în Java
- SimpleDateFormat: Analizați și formatați datele
- Compară datele Exemplu
Să înțelegem mai întâi parametrii care constau dintr-o dată .
Acesta va conține în principal -
- An (în 2 sau 4 cifre)
- Luna (fie în 2 cifre, primele 3 litere ale lunii sau întregul cuvânt al lunii).
- Data (aceasta va fi data efectivă a lunii).
- Zi (ziua la o anumită dată - ca Duminica, Luni, Marti, etc)
În ceea ce privește sistemele informatice, există destul de mulți parametri care pot fi folosiți pentru a se asocia cu o dată. Le vom vedea în părțile ulterioare ale acestui subiect.
Afișați data în Java
Acum, să vedem cum Java ne oferă data. În primul rând, vom vedea cum se obține data curentă-
Java oferă o clasă Date sub pachetul java.util, Pachetul oferă mai multe metode pentru a juca cu data.
Puteți utiliza obiectul Date invocând constructorul clasei Date după cum urmează:
import java.util.Date;class Date_Ex1 {public static void main(String args[]) {// Instantiate a Date object by invoking its constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}
Ieșire:
Wed Nov 29 06:36:22 UTC 2017
În exemplul de dată de mai sus, afișat în format implicit, dacă dorim să afișăm data și ora într-un alt format, înțelegem mai întâi Formatarea datei.
SimpleDateFormat: Analizați și formatați datele
Cu toții trebuie să fi învățat alfabetele din grădinița voastră
….Să învățăm acum formatul ABC al datei.
Scrisoare | Componenta dată sau oră | Exemple |
---|---|---|
G | Desemnator de epocă | ANUNȚ |
y | An | 2018 |
M | Luna în an | Iulie sau iulie sau 07 |
w | Săptămâna în an | 27 |
W | Săptămână în lună | 2 |
D | Zi în an | 189 |
d | Zi în lună | 10 |
F | Ziua săptămânii în lună | 2 |
E | Numele zilei în săptămână | Marți sau marți |
tu | Numărul zilei săptămânii (1 = luni,…, 7 = duminică) | 1 |
A | Marcator am / pm | P.M |
H | Ora din zi (0-23) | 0 |
k | Ora din zi (1-24) | 24 |
K | Ora în am / pm (0-11) | 0 |
h | Ora în am / pm (1-12) | 12 |
m | Minut în oră | 30 |
s | În al doilea minut | 55 |
S | Milisecunda | 978 |
z | Fus orar | Ora standard a Pacificului; PST; GMT-08: 00 |
Z | Fus orar | -0800 |
X | Fus orar | -08 sau -0800 sau -08: 00 |
Nu vă faceți griji, nu trebuie să vă amintiți toate acestea, ele pot fi trimise oricând trebuie să formatați o anumită dată.
Cum se folosește SimpleDateFormat?
Java oferă o clasă numită SimpleDateFormat care vă permite să formatați și să analizați datele în conformitate cu cerințele dvs.
Puteți utiliza caracterele de mai sus pentru a specifica formatul - De exemplu:
1) Format de dată necesar: 2012.10.23 20:20:45 PST
Formatul de dată corespunzător specificat va fi- aaa.MM.dd HH: mm: ss zzz
2) Format de dată necesar: 09:30:00 AM 23-mai-2012
Formatul de dată adecvat specificat va fi : hh: mm: ss a dd-MMM-aaaa
Sfat: Aveți grijă cu scrierea cu majuscule. Dacă greșiți M cu m, veți obține rezultate nedorite!
Să învățăm acest lucru cu un exemplu de cod.
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 objDateSystem.out.println(objDate);String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is SpecifiedSimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format objectSystem.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date}}
Ieșire:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Compară datele Exemplu
Cea mai utilă metodă de comparare a datelor este folosirea metodei - compareTo ()
Să aruncăm o privire la fragmentul de cod de mai jos-
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 !!");}}}Ieșire:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2