Datum a čas v Javě
Z MiS
(Rozdíly mezi verzemi)
(Přidán příklad použití třídy DateFormat.) |
(Přidána třída SimpleDateFormat.) |
||
Řádka 24: | Řádka 24: | ||
* Převod data na naformátovaný textový řetězec. | * Převod data na naformátovaný textový řetězec. | ||
− | * Zohledňuje aktuální národní nastavení Javy (Locale), časové zóny, světové časy. | + | * 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 <code>DateFormat.SHORT|MEDIUM|LONG</code>. |
− | + | ||
− | + | ||
− | + | ||
=== Metody === | === Metody === | ||
Řádka 33: | Řádka 30: | ||
** vytvoří instanci s místním nastavením zobrazení pro datum. | ** vytvoří instanci s místním nastavením zobrazení pro datum. | ||
* <code>DateFormat DateFormat.getTimeInstance()</code> | * <code>DateFormat DateFormat.getTimeInstance()</code> | ||
+ | ** vytvoří instanci s místním nastavením zobrazení pro čas. | ||
+ | * <code>DateFormat DateFormat.getDateTimeInstance()</code> | ||
** vytvoří instanci s místním nastavením zobrazení pro čas. | ** vytvoří instanci s místním nastavením zobrazení pro čas. | ||
Řádka 41: | Řádka 40: | ||
** naformátuje datum podle aktuálního národního nastavení a vrátí odpovídající text. | ** 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 <code>java.text.SimpleDateFormat</code> == | ||
+ | * Potomek třídy <code>DateFormat</code>. | ||
+ | * Umožňuje pomocí textového popisu nastavit vlastní formát data. | ||
+ | * Popis formátu data viz [https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html Dokumentace třídy <code>SimpleDateFormat</code>] | ||
+ | |||
+ | === Příklady použití === | ||
String datumTextove = ...; | String datumTextove = ...; | ||
− | + | SimpleDateFormat df = new SimpleDateFormat("d. M. yyyy"); | |
Date datum = df.parse(datumTextove); | Date datum = df.parse(datumTextove); | ||
... | ... |
Verze z 16. 10. 2017, 08:08
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