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 – 15. diel - Dátum a čas od Javy 8 - Úprava a intervaly

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
Odpovedá na Petr Kateřiňák
Matúš Olejník:24.9.2019 8:40
zbyva.get(ChronoUnit.DAYS)

ti vráti 1 pretože to je rozdiel medzi dňami 24 - 23 = 1.
Keby si dal

zbyva.get(ChronoUnit.DAYS)

tak to ti vráti 3 pretože 12 - 9 = 3 atď...
Ak chceš vrátiť rozdiel čisto v dňoch, môžeš to urobiť napr. takto

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

class Scratch {
    public static void main(String[] args) {
        LocalDate actualDate = LocalDate.now();
        LocalDate xMassDate = LocalDate.of(2019, 12, 24);
        System.out.println("Do Vánoc zbývá " + ChronoUnit.DAYS.between(actualDate, xMassDate) + " dnů");
    }
}
Odpovedať
/* I am not sure why this works but it fixes the problem */
Avatar
Odpovedá na Matúš Olejník
Petr Kateřiňák:24.9.2019 12:50

Díky :-) To je přesně to, co bych očekával jako typickou ukázku použití metody between(), s tím, že v případě potřeby existuje i obrácená varianta, která počítá rozsah tak jak je to v příkladu. Aktuální stav bez upozornění na odlišný, než očekávaný význam, je docela matoucí.

Avatar
Petr Kateřiňák:24.9.2019 15:32

Jak je myšlený odstavec Nastavení hodnoty?

LocalDate zacatek = LocalDate.of(1939, 9, 1);
zacatek = zacatek.withHour(10); // Nastaví hodiny na 10

Pořád mi to nejde do hlavy. Přece u LocalDate nemohu nastavit čas, Java toto ani nezkompiluje. Pokud by to mělo být LocalDateTime, tak ten zase nemohu inicializovat bez času. O čem tedy má být tento odstavec? Může jej, prosím, někdo opravit?

Avatar
Ondřej Kozel:25.10.2020 11:36

Ahoj, chtěl jsem vyzkoušet, jak bude Period reagovat na dnešní změnu času.
Ale zjistil jsem, že třída Period nemá žádné metody na práci s časem (funguje jen s LocalDate), i když je v tutoriálu napsáno, že funguje i s LocalDateTime.

Jak je to tedy v Javě s Period?

Avatar
Martin Kopuletý:19.10.2021 14:10

Z jakého důvodu se v parametru po názvu třídy a operátoru vypisuje časová jednotka velkými písmeny?

datumCas = datumCas.plus(3, ChronoUnit.DAYS);

Je to i u FormatStyle.FULL, LONG atp.

Má to nějakou spojitost s tím, že je to navázaný na třídu?

Děkuji za odpověď.

Avatar
Atrament
Člen
Avatar
Odpovedá na Martin Kopuletý
Atrament:19.10.2021 21:17

To jsou konstanty, ty se v javě vždycky píší velkými písmeny.

Avatar
Daniel Bodák:21.1.2022 23:13

chyba na konci použití metody withHour v LocalDate

Avatar
Atrament
Člen
Avatar
Odpovedá na Daniel Bodák
Atrament:22.1.2022 22:59

Máš pravdu. A co že si doteď nikdo nevšiml toho Halloweenu 31. září? :) Už jsem poslal do redakce opravu...

Avatar
Jakub Tioka
Člen
Avatar
Jakub Tioka:1.2.2022 18:47

článek dobrý, ale celé mi to příjde na javu, kde se snažíme vše dělat efektivně a krátce, zbytečně složité

Avatar
Niki Vávrová:5.1.2023 16:16

Dobře napsaný článek.

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é 10 správy z 31.