Table of Contents
Java SimpleDateFormat – Formát data Java
Úvod
Java SimpleDateFormat je třída, která umožňuje naformátovat a analyzovat datum a čas v aplikacích Java. Poskytuje flexibilní způsob práce s daty a časy pomocí různých formátů, které jsou přizpůsobitelné specifickým požadavkům. SimpleDateFormat je součástí balíčku java.text
a je základem pro práci s daty a časy v Javě.
Formátování data
K formátování data pomocí SimpleDateFormat se používá metoda format()
. Tato metoda přijímá objekt typu Date
nebo Calendar
a vrací řetězec naformátovaný podle zadaného vzoru. Vzor formátu je řetězec, který určuje, jak má být datum naformátováno. Následuje několik běžných vzorů formátu:
– yyyy: Čtyřmístné rok
– MM: Dvoumístný měsíc (01-12)
– dd: Dvoumístný den v měsíci (01-31)
– HH: Dvoumístná hodina (00-23)
– mm: Dvoumístná minuta (00-59)
– ss: Dvoumístná sekunda (00-59)
Ukázka kódu pro formátování data
java
import java.text.SimpleDateFormat;
import java.util.Date;
public class FormatDateExample {
public static void main(String[] args) {
// Vytvořit objekt Date
Date date = new Date();
// Vytvořit objekt SimpleDateFormat pro formátování data
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
// Naformátovat datum do řetězce
String formattedDate = sdf.format(date);
// Vypsat naformátované datum
System.out.println(formattedDate);
}
}
Analýza data
K analýze data pomocí SimpleDateFormat se používá metoda parse()
. Tato metoda přijímá řetězec obsahující datum a vrací objekt typu Date
. Vzor formátu, který byl použit k analýze data, musí odpovídat vzoru, který byl použit k jeho formátování.
Ukázka kódu pro analýzu data
java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ParseDateExample {
public static void main(String[] args) throws ParseException {
// Řetězec obsahující datum
String dateString = "10/12/2023";
// Vytvořit objekt SimpleDateFormat pro analýzu data
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
// Analyzovat datum z řetězce
Date date = sdf.parse(dateString);
// Vypsat analyzované datum
System.out.println(date);
}
}
Možnosti formátování
SimpleDateFormat nabízí řadu možností formátování, které umožňují přizpůsobit formátovaný výstup. Mezi tyto možnosti patří:
– Hodiny 12/24: Lze určit, zda se mají hodiny formátovat ve 12hodinovém nebo 24hodinovém formátu pomocí symbolů „h“ pro 12hodinový formát a „H“ pro 24hodinový formát.
– Časové pásmo: Časové pásmo lze určit pomocí symbolů „Z“ pro UTC nebo „z“ pro místní časové pásmo.
– Am/pm: Am/pm lze zahrnout pomocí symbolů „a“ nebo „A“.
– Oddělovače: Oddělovače mezi různými částmi data (např. rok, měsíc, den) lze přizpůsobit pomocí symbolů jako lomítko „/“, pomlčka „-“ nebo mezera.
Ukázka kódu pro přizpůsobené formátování
java
import java.text.SimpleDateFormat;
import java.util.Date;
public class CustomFormattingExample {
public static void main(String[] args) {
// Vytvořit objekt Date
Date date = new Date();
// Vytvořit objekt SimpleDateFormat pro přizpůsobené formátování
SimpleDateFormat sdf = new SimpleDateFormat("h:mm a, dd/MM/yyyy (z)");
// Naformátovat datum do řetězce
String formattedDate = sdf.format(date);
// Vypsat naformátované datum
System.out.println(formattedDate);
}
}
Závěr
Java SimpleDateFormat je výkonný nástroj pro formátování a analýzu data a času v aplikacích Java. Poskytuje flexibilní a přizpůsobitelné možnosti, které usnadňují práci s daty a časy v různých formátech. Pochopení a správné používání SimpleDateFormat je nezbytné pro efektivní zpracování data a času v aplikacích Java.
Často kladené dotazy
1. Co je Java SimpleDateFormat?
– Java SimpleDateFormat je třída, která umožňuje naformátovat a analyzovat datum a čas v aplikacích Java.
2. Jak se používá SimpleDateFormat pro formátování data?
– Pro formátování data se používá metoda format()
, která přijímá objekt typu Date
nebo Calendar
a vrací naformátovaný řetězec.
3. Jaké jsou běžné vzory formátu pro SimpleDateFormat?
– Běžné vzory formátu zahrnují „yyyy“ pro rok, „MM“ pro měsíc, „dd“ pro den, „HH“ pro hodiny, „mm“ pro minuty a „ss“ pro sekundy.
4. Jak se používá SimpleDateFormat pro analýzu data?
– Pro analýzu data se používá metoda parse()
, která přijímá řetězec obsahující datum a vrací objekt typu Date
.
5. Lze přizpůsobit formát SimpleDateFormat?
– Ano, SimpleDateFormat nabízí možnosti pro přizpůsobení formátování, včetně možnosti formátování hodin ve 12/24hodinovém formátu, zahrnutí časového pásma a použití vlastních oddělovačů.
6. Jaký je rozdíl mezi Date
a Calendar
v souvislosti se SimpleDateFormat?
– Oba objekty Date
a Calendar
představují datum a čas, ale Calendar
navíc poskytuje pokročilé funkce, jako je přidávání nebo odečítání časových jednotek.
7. Je SimpleDateFormat thread-safe?
– Ne, SimpleDateFormat není thread-safe, což znamená, že by se instance této třídy neměla sdílet mezi více vlákny.
8. Existují alternativy ke SimpleDateFormat?
– Ano, existují alternativy ke SimpleDateFormat, jako je java.time
API, které poskytuje modernější a typizované rozhraní pro práci s daty a časy.