NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Datum a čas v Javě pomocí třídy Calendar

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Honza Bittner
Tvůrce
Avatar
Honza Bittner:15.3.2013 22:26

Ahoj, mohu se zeptat proč když je dnes 15.3.2013 mi kód

System.out.printf("Dnes je %s. %s. roku %s.\n", datumCas.getDay(), datumCas.getMonth(), datumCas.getYear()+1900);

vypisuje

Dnes je 5. 2. roku 2013.

?? :) Děkuji

Editováno 15.3.2013 22:27
Odpovědět
15.3.2013 22:26
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Fugiczek
Tvůrce
Avatar
Odpovídá na Honza Bittner
Fugiczek:15.3.2013 22:33

Nejspis protoze trida Date ma vetsinu konstruktoru a 99% metod oznacene jako Deprecated. Neni vhodne tuto tridu pouzivat vubec na nic :-D Uz hned od javy 1.1 byla tato trida nahrazena tridou Calendar, tudiz je tento clanek zde naprosto bezcenny :-)

 
Odpovědět
15.3.2013 22:33
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Fugiczek
Honza Bittner:15.3.2013 22:36

áha :) takže je třída Date nepřesná a mám raději používat třídu Calendar ? :)

Odpovědět
15.3.2013 22:36
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Fugiczek
Tvůrce
Avatar
Odpovídá na Honza Bittner
Fugiczek:15.3.2013 22:44

Ano, u Date funguje snad jen toString() spravne :-D Mozna jeste neco malo na porovnani, ale moc toho neni. Radsi pouzivej Calendar nebo GregorianCalendar. Ono v jave je Date a Time API celkem nesikovne udelane. Ona je tam dokonce jeste jedna trida Date pro databaze, v balicku sql. No proste je v tom bordel, ale v jave 8 bude zcela nova API na to takze bude uz klid. :-)

 
Odpovědět
15.3.2013 22:44
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Fugiczek
Honza Bittner:15.3.2013 22:46

ok, díky za pomoc :)

Odpovědět
15.3.2013 22:46
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Fugiczek
Tvůrce
Avatar
Fugiczek:1.4.2013 19:03
S datem a časem se v Javě dříve pracovalo pomocí třídy DateTime.

DateTime je v C#, v jave je jen Date.

Pokud se v nějakých meteriálech setkáte s třídou DateTime, nepoužívejte ji.

Pouziva se a casto. Jen ne pro manipulaci, ale pro uschovani urciteho casu.

 
Odpovědět
1.4.2013 19:03
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Fugiczek
David Hartinger:1.4.2013 19:21

Uschovat čas můžeš úplně stejně i v kalendáři a vzhledem k deprecated metodám na Date bych ho vůbec nedoporučoval používat. Ve vážnějších Java aplikacích se používá Joda-Time. DateTime jsem opravil.

Odpovědět
1.4.2013 19:21
New kid back on the block with a R.I.P
Avatar
Fugiczek
Tvůrce
Avatar
Odpovídá na David Hartinger
Fugiczek:1.4.2013 19:47

Jsou 2 varianty:

  1. java.util.Date
  2. java.sql.Date

Obe jsou na ulozeni data naprosto vhodne. Pokud se s nimi chce manipulovat premisti se do instance Calendar a dale s datem pak muze pracovat. SQL verze pouzivat hodne. Jinak ve vaznejsich aplikaci se pouziva JSR310, Date&Time API, ktera se mimojine diky svemu dobremu ohlasu a kvalite objevila v Java 8.

 
Odpovědět
1.4.2013 19:47
Avatar
man
Neregistrovaný
Avatar
Odpovídá na Fugiczek
man:30.4.2013 18:19

nejspíš protože je o třídu Calendar a ne o date a pekne mi to pomohlo todle jsem presne potreboval rychle vedet. Díky autorovi ;)

 
Odpovědět
30.4.2013 18:19
Avatar
Benjibs
Člen
Avatar
Benjibs:7.7.2013 11:46
Logger.getLogger(DatumACas.class.getName()).log(Level.SEVERE, null, ex);

Toto mi nejde skompilovať..
Ale keď to nahradím týmto, tak to ide:

Logger.getLogger(DatumACas.getClass().getName()).log(Level.SEVERE, null, ex);
Odpovědět
7.7.2013 11:46
1 + 1 = 2
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 10 zpráv z 39.