Avatar
pokorny.marecek:

Ahoj,

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íky mockrát za nápady...

 
Odpovědět 11.10.2013 21:44
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.

Zobrazeno 2 zpráv z 2.