Datum a čas v Javě
Z MiS
Obsah |
Třída java.util.Date
- Dnes slouží pouze pro uchování času
- Historicky obsahuje i metody pro analýz časového údaje (převod na den + měsíc + rok atd.), tyto metody jsou dnes již zastaralé.
- Časový údaj uchovává jako počet milisekund od The Epoch (1. 1. 1970 00:00:00)
Metody
- konstruktor
Date()
- vytvoří instanci reprezentující aktuální datum a čas
- Porovnání dvou dat (které datum je starší?)
-
boolean before(Date druhe)
-
boolean after(Date druhe)
-
int compareTo(Date anotherDate)
Třída java.text.DateFormat
- Převod data na naformátovaný textový řetězec.
- Zohledňuje aktuální národní nastavení Javy (Locale), časové zóny, světové časy. Můžeme vybrat mezi dlouhým a krátkým zápisem data pomocí konstant
DateFormat.SHORT|MEDIUM|LONG
.
Metody
-
DateFormat DateFormat.getDateInstance()
- vytvoří instanci s místním nastavením zobrazení pro datum.
-
DateFormat DateFormat.getTimeInstance()
- vytvoří instanci s místním nastavením zobrazení pro čas.
-
DateFormat DateFormat.getDateTimeInstance()
- vytvoří instanci s místním nastavením zobrazení pro čas.
- Převody na text <-> datum
-
Date dateFormat.parse(String s)
- převod textu na datum
-
String dateFormat.format(Date date)
- naformátuje datum podle aktuálního národního nastavení a vrátí odpovídající text.
Příklady použití
DateFormat df; String datumTextove = ...; df = DateFormat.getDateInstance(); Date datum = df.parse(datumTextove); ... System.out.println(df.format(datum));
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); ...
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG); ...
Třída java.text.SimpleDateFormat
- Potomek třídy
DateFormat
. - Umožňuje pomocí textového popisu nastavit vlastní formát data.
- Popis formátu data viz Dokumentace třídy
SimpleDateFormat
Příklady použití
String datumTextove = ...; SimpleDateFormat df = new SimpleDateFormat("d. M. yyyy"); Date datum = df.parse(datumTextove); ... System.out.println(df.format(datum));
Třída java.util.Calendar
- Slouží k
- analýze data na jednotlivé položky (rok, měsíc, den, hodina...)
- výpočtům s datem (posun o měsíc, o pět dnů,...)
- Abstraktní třída
- rodič pro konkrétní třídy, reprezentující různé kalendářní systémy
- prakticky pouze
GregorianCalendar
— gregoriánský kalendář.
Metody
-
Calendar.getInstance()
- získáme kalendář s aktuálním datem