Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – Dátum a čas v Jave pomocou triedy Calendar

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Petr.M
Člen
Avatar
Petr.M:25.4.2015 2:24

Navazuju na dotaz Matěje Kripnera - jaký je smysl ukládání objektu podtřídy SimpleDateFormat do reference typu jeho abstraktního předka DateFormat?

DateFormat formatData = new SimpleDateFormat("d.MMMM yyyy H:mm");

Chápu, že to dědičnost umožnuje, ale plynou z toho v tomto případě nějaké výhody pro další práci s tímto objektem? Odpověď na Matějův dotaz, že až bude umět víc OOP, tak to pochopí, se mi jeví lehce nedostačující :)
A jak bylo zmíněno, v textu lekce by bylo potřeba doplnit informaci, že je potřeba naimportovat také java.text.Date­Format, když už se používá reference tohoto typu.

Editované
Odpovedať
Sometimes you just do things. - Scott Jurek
Avatar
Marcel Smolik:11.7.2015 1:00

Jsem zmaten mam se ucit celendr nebo API abych to nečet zbytečně.

Avatar
Odpovedá na Marcel Smolik
Marcel Smolik:11.7.2015 1:02

Pardon oprava mam číst tento článek nebo ten nový se zaměřením na datum a čas.

Avatar
secretcode
Člen
Avatar
secretcode:3.3.2016 16:09

Chyba v riadku

formatData = new SimpleDateFormat("d.M.yyyy H:mm");

Chyba tam typ deklaracie premennej formatData

SimpleDateFormat formatData = new SimpleDateFormat("d.M.yyyy H:mm");
Editované
Avatar
Debrax
Člen
Avatar
Debrax:26.4.2016 12:17

Menší preklep v úvode
Název může Calendar může být poněkud matoucí...

..a pozerám, že chyba formatData.. už bola spomenutá :)

Avatar
Odpovedá na Jan Demel
Pavel Habžanský:27.5.2016 14:39

Naštěstí inteligentnější IDE jako IntelliJ (nevím, jak NetBeans) to sami naimportujou, jakmile se pokusíš vytvořit instanci třídy, ke které potřebuješ daný balíček :-)

Odpovedať
Čím větší výzva, tím větší zkušenost
Avatar
Roman Duchoň:27.9.2016 16:55

No... ač mi fungují, zatím nerozumím příkazům try a catch. Takový složitě vypadají příkazy a oni neumí ošetřit, když zadám něco špatně? Mlčím. Třeba jen má neznalost.

A co to odčítá datumů (zde na stránkách schválně použit tento tvar)?
Zkusil jsem něco jako:

public int porovnej()    {
        ted.set(Calendar.MILLISECOND, 0);
        ted.set(Calendar.SECOND, 0);
        ted.set(Calendar.MINUTE, 0);
        ted.set(Calendar.HOUR_OF_DAY, 0);
        bude.set(Calendar.MILLISECOND, 0);
        bude.set(Calendar.SECOND, 0);
        bude.set(Calendar.MINUTE, 0);
        bude.set(Calendar.HOUR_OF_DAY, 0);
        long tedMili = ted.getTimeInMillis();
        long budeMili = bude.getTimeInMillis();
        long rozdilMili = budeMili - tedMili;
        long denMili = 86400000;
        int dnu = (int) (rozdilMili / denMili);
        return dnu;
}

Opravdu to nejde jednodušeji? A co když budu chtít zapojit měsíce? Roky? Hodiny? A abych se nedostal do záporných hodnot?
Možná je to zbytečný dotaz, jen mě to trochu zarazilo. Občas jsem se i divil, jak jde něco jednoduše. Něco, co si dokáže člověk normálně představit programovací jazyk dokázal vystihnout líp, ale tohle...

Avatar
Atrament
Člen
Avatar
Odpovedá na Roman Duchoň
Atrament:28.9.2016 11:07

Tento článek už není příliš aktuální, je to uvedeno přímo v úvodu článku. Od Javy 8 je k dispozici komplet nové API na práci s časem, na zjištění počtu dní mezi dvěma datumy se dá použít ChronoUnit

LocalDate ted = LocalDate.now();
LocalDate potom = LocalDate.of(2016, 11, 19);
ChronoUnit.DAYS.between(ted, potom);
Avatar
Odpovedá na Atrament
Roman Duchoň:29.9.2016 12:23

Úžasné! :) Dík.

Pozn. pro budoucí čtenáře:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

edit: Měl jsem si přečíst ten článek, na který se odkazuje na začátku.
Ono asi neplatí, že když se učím základy, neměl bych řešit novinky...

Editované
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 9 správy z 39.