Java Data și ora
Să înțelegem mai întâi parametrii care constau din a Data.
Acesta va conține în primul rând -
- an (din 2 sau 4 cifre)
- lună (din 2 cifre, primele 3 litere ale lunii sau întregul cuvânt al lunii).
- data (va fi data efectivă a lunii).
- zi (ziua la data dată - cum ar fi duminică, luni, marți etc.)
În ceea ce privește sistemele informatice, există destul de mulți parametri care pot fi utilizați pentru a asocia o dată. Le vom vedea în părțile ulterioare ale acestui subiect.
Afișează data în Java
Acum hai să vedem cum Java furnizați-ne Data. Mai întâi, vom vedea cum să obținem data curentă -
Java furnizează o clasă Date în pachetul java.util, Pachetul oferă mai multe metode de 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 constructor
Date 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 mai sus, data afișată în format implicit, dacă dorim să arătăm data și ora într-un alt format, mai întâi înțelegeți Formatarea datei.
SimpleDateFormat: Analizați și formatați datele
Cu toții trebuie să fi învățat alfabetele la grădiniță...
Să aflăm acum ABC-urile formatului de dată.
| Scrisoare | Componenta dată sau oră | Exemple |
|---|---|---|
| G | Indicator de epocă | AD |
| y | An | 2018 |
| M | Lună în an | iulie sau iulie sau 07 |
| w | Săptămâna în an | 27 |
| W | Săptămână de lună | 2 |
| D | Zi de an | 189 |
| d | Zi de lună | 10 |
| F | Zi a săptămânii în lună | 2 |
| E | Numele zilei în săptămână | marți sau marți |
| u | Numărul zilei săptămânii (1 = Monday, …, 7 = duminica) | 1 |
| a | Marker am/pm | PM |
| H | Ora în zi (0-23) | 0 |
| k | Ora în zi (1-24) | 24 |
| K | Ora în dimineața/pm (0-11) | 0 |
| h | Ora în dimineața/pm (1-12) | 12 |
| m | Minut în oră | 30 |
| s | Al doilea în minut | 55 |
| S | Milisecunda | 978 |
| z | Zona de timp | Ora standard a Pacificului; PST; GMT-08:00 |
| Z | Zona de timp | -0800 |
| X | Zona de timp | -08 sau -0800 sau -08:00 |
Nu vă faceți griji, nu trebuie să vă amintiți toate acestea, acestea pot fi trimise oricând trebuie să formatați o anumită dată.
Cum se utilizează SimpleDateFormat?
Java oferă o clasă numită SimpleDateFormat care vă permite să formatați și să analizați datele conform cerințelor dvs.
Puteți utiliza caracterele de mai sus pentru a specifica formatul-
De exemplu:
1) Formatul datei este necesar: 2012.10.23 20:20:45 PST
Formatul de dată corespunzător specificat va fi- aaaa.LL.zz HH:mm:ss zzz
2) Formatul datei este necesar:09:30:00 AM 23-May-2012
Formatul de dată corespunzător specificat va fi-hh:mm:ss a zz-MMM-aaaa
Sfat: Atenție la scrierea cu majuscule. Dacă confundați M cu m, veți avea rezultate nedorite!
Să învățăm asta 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 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
}
}
ieșire:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Exemplu de comparare a datelor
Cea mai utilă metodă de comparare a datelor este utilizarea 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-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2


