Java SimpleDateFormat – Java dátumformátum

Java SimpleDateFormat – Java dátumformátum

Bevezetés

A SimpleDateFormat osztály a java.text csomag része, és lehetővé teszi a dátumok és időpontok formázását és elemzését. Számos módszert és konstruktort biztosít a dátum- és időadatok formázására és elemzésére különböző formátumokban, például ISO 8601, Unix időbélyeg és egyéni minták. A SimpleDateFormat a LocalDateFormat leszármazottja, amely a dátumok és időpontok nemzetközi beállításfüggő formázását és elemzését teszi lehetővé.

SimpleDateFormat használata

A SimpleDateFormat használatához létre kell hoznia egy példányt a kívánt formátummal. A SimpleDateFormat konstruktora a formátummintát várja paraméterként. A következő példa egy SimpleDateFormat példányt hoz létre, amely az ISO 8601 szabvány szerinti formátumban formázza a dátumokat:

java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");

Dátumformázás

A SimpleDateFormat osztály format() módszerét használhatja dátum- és időadatok formázására. A format() módszer egy Date objektumot vár paraméterként, és a formátummintának megfelelően formázott Stringet ad vissza. A következő példa egy Date objektumot formáz az ISO 8601 formátumban:

java
Date date = new Date();
String formattedDate = sdf.format(date);
System.out.println(formattedDate); // Példa kimenet: 2023-03-08T10:15:30.000

Dátumelemzés

A SimpleDateFormat osztály parse() módszerét használhatja dátum- és időadatok elemzésére. A parse() módszer egy formázott Stringet vár paraméterként, és a formátummintának megfelelő Date objektumot ad vissza. A következő példa egy ISO 8601 formátumú Stringet elemez Date objektummá:

  Helyfrissítés küldése Skype csoportos beszélgetéshez

java
String dateString = "2023-03-08T10:15:30.000";
Date date = sdf.parse(dateString);

Formátumminták

A SimpleDateFormat osztály számos előre definiált formátummintát biztosít, amelyek a leggyakoribb dátum- és időformátumokat fedik le. Ezek a minták a java.text.SimpleDateFormat.DATE_FORMAT és a java.text.SimpleDateFormat.TIME_FORMAT konstansokban találhatók. A következő táblázat néhány gyakran használt formátummintát sorol fel:

| Formátumm minta | Leírás |
|—|—|
| y | Év |
| M | Hónap (1-12) |
| d | Nap (1-31) |
| H | Óra (0-23) |
| m | Perc (0-59) |
| s | Másodperc (0-59) |
| S | Ezredmásodperc (0-999) |

Szükség esetén saját egyéni formátummintákat is definiálhat. Az egyéni formátumminták a Unicode szabvány által meghatározott szimbólumokat használják dátum- és időadatok formázására és elemzésére.

Beállítások

A SimpleDateFormat osztály számos beállítást tesz lehetővé a dátum- és időformázás és elemzés testreszabásához. Ezek a beállítások a következők:

* Lenient: Ez a beállítás vezérli, hogy a SimpleDateFormat engedélyezi-e a formázási és elemzési hibákat. Ha a Lenient beállítás true, a SimpleDateFormat megpróbálja helyreállítani a hibákat, ha a false, a SimpleDateFormat kivételt dob.
* Locale: Ez a beállítás vezérli a dátum- és időformázáshoz és elemzéshez használt helyi beállítást.
* TimeZone: Ez a beállítás vezérli az időzóna eltolódást, amelyet a dátum- és időformázáshoz és elemzéshez használnak.

  A 8 legjobb kalóriaszámláló alkalmazás 2022-ben

Példák

Az alábbiakban néhány példa található a SimpleDateFormat osztály használatára:

* Egy dátum formázása ISO 8601 formátumban:

java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
Date date = new Date();
String formattedDate = sdf.format(date);

* Egy dátum elemzése ISO 8601 formátumból:

java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
String dateString = "2023-03-08T10:15:30.000";
Date date = sdf.parse(dateString);

* Egy dátum formázása magyar nyelven:

java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy. MMMM dd., EEEE", new Locale("hu"));
Date date = new Date();
String formattedDate = sdf.format(date);

Következtetés

A SimpleDateFormat osztály egy erőteljes eszköz a dátum- és időadatok formázásához és elemzéséhez. Számos módszert és konstruktort biztosít a dátum- és időadatok formázására és elemzésére különböző formátumokban, például ISO 8601, Unix időbélyeg és egyéni minták. A SimpleDateFormat a Java API fontos része, amely a dátum- és időadatok kezelését teszi lehetővé az alkalmazásokban.

GYIK

1. Mi a SimpleDateFormat osztály célja?
A SimpleDateFormat osztály célja a dátum- és időadatok formázása és elemzése.

2. Hogyan hozhatok létre egy SimpleDateFormat példányt?
Létrehozhat egy SimpleDateFormat példányt a kívánt formátummintát paraméterként átadva a konstruktora számára.

  A 10 legjobb web3 fejlesztői platform

3. Hogyan formázhatok egy dátumot SimpleDateFormat segítségével?
Használja a format() metódust, hogy egy dátumot a formátummintának megfelelően formázzon.

4. Hogyan elemezhetek egy dátumot SimpleDateFormat segítségével?
Használja a parse() metódust, hogy egy dátumot a formátummintának megfelelően elemezzen.

5. Mi a Lenient beállítás?
A Lenient beállítás vezérli, hogy a SimpleDateFormat engedélyezi-e a formázási és elemzési hibákat.

6. Mi a Locale beállítás?
A Locale beállítás vezérli a dátum- és időformázáshoz és elemzéshez használt helyi beállítást.

7. Mi a TimeZone beállítás?
A TimeZone beállítás vezérli az időzóna eltolódást, amelyet a dátum- és időformázáshoz és elemzéshez használnak.

8. Hogyan formázhatok egy dátumot magyar nyelven?
Hozzon létre egy SimpleDateFormat példányt a magyar Locale-lel, és használja a kívánt formátummintát.

9. Hogyan elemezhetek egy dátumot, amely nem felel meg pontosan a formátummintának?
A SimpleDateFormat lenient beállítása true értékre állítja, hogy a SimpleDateFormat megpróbálja helyreállítani a formázási és elemzési hibákat.

10. Milyen előre definiált formátummintákat biztosít a SimpleDateFormat?
A SimpleDateFormat számos előre definiált formátummintát biztosít, amelyek a leggyakoribb dátum- és időformátumokat fedik le. Ezek a minták a java.text.SimpleDateFormat.DATE_FORMAT és a java.text.SimpleDateFormat.TIME_FORMAT konstansokban találhatók.