za domácí úkol jsem dostal na první pohled poměrně jednoduchou
úlohu:
*"Napište program, který použije fixní datum a čas, např. Vaše
narození, pro určení doby, která od tohoto okamžiku uplynula (nebo která
zbývá, pokud je fixní datum v budoucnosti). Pro výpočet použijte třídy
Date a Calendar. Výsledek vytiskněte do konzole v podobě "Uplynulo" nebo
"Zbývá" yy let, mm měsíců, dd dnů, hh hodin, mm minut a ss sekund.
Bonus: Zjistěte nejbližší následující výročí uplynulé události
(příští narozeniny) a za jak dlouho toto výročí nastane.*"
Vůbec ale nemám myšlenku, jak bych to udělal...
Před pár dny jsem si zkusil pohrát z třídou Calendar, ale
bezúspěšně.
Nyní mám nápad úplně elementární: spočítat si z aktuálních
milisekund (z metody date.getTime() ) rok, měsíc (tam budou
podmínky, zdali je rok přestupný, a jestli měsíce mají 31 nebo 30 (únor
28) dní), den, hodinu, minutu, sekundu. Od toho bych chtěl odečíst zadaný
rok (přičítání nebo odečítání data - fixní datum bude/již bylo, bude
také ošetřeno podmínkou).
Určitě to půjde nějak elegantněji, abych využil metody tříd Date a
Calendar (hlavně jsem se v té mé základní myšlence úplně zamotal a sám
ztratil ). Jak byste nad tím
alespoň náznakem (nechci, abyste to za mě řešili) přemýšleli vy?
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.