Datum a čas v Javě
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (Přidána třída SimpleDateFormat.) | m (Dodán popis formátu pro SimpleDateFormat.) | ||
| Řádka 26: | Řádka 26: | ||
| * 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>. | * 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>. | ||
| − | ===  | + | === Vytvoření instance === | 
| * <code>DateFormat DateFormat.getDateInstance()</code> | * <code>DateFormat DateFormat.getDateInstance()</code> | ||
| ** vytvoří instanci s místním nastavením zobrazení pro datum. | ** vytvoří instanci s místním nastavením zobrazení pro datum. | ||
| Řádka 34: | Řádka 34: | ||
| ** vytvoří instanci s místním nastavením zobrazení pro čas. | ** vytvoří instanci s místním nastavením zobrazení pro čas. | ||
| − | + | === Převody na text ↔ datum === | |
| * <code>Date dateFormat.parse(String s)</code> | * <code>Date dateFormat.parse(String s)</code> | ||
| − | **  | + | ** Převod textového zápisu na datum. | 
| * <code>String dateFormat.format(Date date)</code> | * <code>String dateFormat.format(Date date)</code> | ||
| − | **  | + | ** Naformátuje datum podle aktuálního národního nastavení a vrátí odpovídající text. | 
| === Příklady použití === | === Příklady použití === | ||
| Řádka 61: | Řádka 61: | ||
| * Umožňuje pomocí textového popisu nastavit vlastní formát data. | * 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>] | * Popis formátu data viz [https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html Dokumentace třídy <code>SimpleDateFormat</code>] | ||
| + | |||
| + | === Vytvoření instance === | ||
| + | * Konstruktor <code>SimpleDateFormat(String formát)</code>: | ||
| + | * Formát zápisu data se píše jako textový řetězec složený z položek: | ||
| + | *# <code>d</code> ... Zápis dne v měsící (<code>dd</code> znamená zápis včetně úvodní nuly — <code>"01"</code>). | ||
| + | *# <code>M</code> ... Zápis měsíce (<code>MM</code> znamená zápis včetně úvodní nuly — <code>"01"</code>, <code>MMM</code> textový zápis — <code>březen</code>). | ||
| + | *# <code>y</code> ... Zápis roku (<code>yy</code> nebo <code>yyyy</code>). | ||
| + | *# <code>h</code> ... Hodiny | ||
| + | *# <code>m</code> ... Minuty | ||
| + | *# ... | ||
| === Příklady použití === | === Příklady použití === | ||
Verze z 18. 10. 2017, 10:30
| 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.
Vytvoření instance
-  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 textového zápisu 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
Vytvoření instance
-  Konstruktor SimpleDateFormat(String formát):
-  Formát zápisu data se píše jako textový řetězec složený z položek:
-  d... Zápis dne v měsící (ddznamená zápis včetně úvodní nuly —"01").
-  M... Zápis měsíce (MMznamená zápis včetně úvodní nuly —"01",MMMtextový zápis —březen).
-  y... Zápis roku (yyneboyyyy).
-  h... Hodiny
-  m... Minuty
- ...
 
-  
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
 
