Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

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
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

Editované 15.3.2013 22:27
Odpovedať
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
Odpovedá 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 :-)

 
Odpovedať
15.3.2013 22:33
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovedá 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 ? :)

Odpovedať
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
Odpovedá 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. :-)

 
Odpovedať
15.3.2013 22:44
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovedá na Fugiczek
Honza Bittner:15.3.2013 22:46

ok, díky za pomoc :)

Odpovedať
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.

 
Odpovedať
1.4.2013 19:03
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá 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.

Odpovedať
1.4.2013 19:21
New kid back on the block with a R.I.P
Avatar
Fugiczek
Tvůrce
Avatar
Odpovedá 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.

 
Odpovedať
1.4.2013 19:47
Avatar
man
Nevyplnené
Avatar
Odpovedá 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 ;)

 
Odpovedať
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);
Odpovedať
7.7.2013 11:46
1 + 1 = 2
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.

Zatiaľ nikto nevložil komentár - buď prvý!