RE: datum a cas z dvoch policok do jednej premennej
Calendar je nesmierne pomaly, v momente, ked sa ma metoda pouzivat s vysokou frekvenciou, je lepsi new Date(aDate.getDate + aTime.getDate + nejaka_timezone_korekcia). N.K. Odesílatel: konference-boun...@java.cz [konference-boun...@java.cz] za uživatele Ivan Polák [i...@infoportal.sk] Odesláno: 8. června 2009 20:53 Komu: Java Předmět: Re: datum a cas z dvoch policok do jednej premennej vsetkym velmi pekne dakujem (najma Rastislavovi), to je to co som potreboval. Ivan Gabriel Gajdos wrote / napísal(a): Yo, to je to spravne... Ale podľa zadania treba prerobiť metodu na public static Date mergeDateAndTime(Date aDate, Date aTime) ...čo však každý zrejme zvládne ako cvičenie z čias, kedy sme s Javou začínali... ;-) GG *From:* konference-boun...@java.cz [mailto:konference-boun...@java.cz] *On Behalf Of *Rastislav Siekel *Sent:* Monday, June 08, 2009 4:42 PM *To:* Java *Subject:* Re: datum a cas z dvoch policok do jednej premennej Tak dobre. Keď si ich prevedieš na Calendar, potom je to takto: /** Z dvoch častí - dátumovej a časovej spraví jeden Calendar. * Ak je dátum NULL, vráti NULL. * Ak je čas NULL, berie default hodnotu 00:00:00.000 . */ public static Calendar mergeDateAndTime(Calendar aDate, Calendar aTime) { if(aDate == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime( aDate.getTime() ); if(aTime == null) { clearTime(cal); } else { cal.set(Calendar.HOUR_OF_DAY, aTime.get(Calendar.HOUR_OF_DAY) ); cal.set(Calendar.MINUTE, aTime.get(Calendar.MINUTE) ); cal.set(Calendar.SECOND, aTime.get(Calendar.SECOND) ); cal.set(Calendar.MILLISECOND, aTime.get(Calendar.MILLISECOND) ); } return cal; } Rastislav Bedo Siekel Info wrote: asi som to zle vysvetlil. predstavme si situaciu: mam web aplikaciu a 2 policka vo form. do prveho zapisujem datum do druheho cas. na tento formular mam pomocou Spring MVC zaveseny formularovy bean, a initBinder-y ktore mi zapecpecia konvertovanie String na java.util.Date. ale to je nepodstatne, podstatne je to ze ak zapisem dnesny datum 08.06.2009 a 17:00, tieto 2 hodnoty mi uspesne skonvertuje na 2 premenne java.util.Date. jedna ma hodnotu Mon Jun 08 00:00:00 CEST 2009 a druha Thu Jan 01 17:00:00 CET 1970. ako mam z toho dostat jednu premennu typy java.util.Date ktora by mala hodnotu Mon Jun 08 17:00:00 CEST 2009 ? dakujem Ivan - Original Message From: Java konference@java.cz mailto:konference@java.cz To: Java konference@java.cz mailto:konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 18:15 Gabriel Gajdos wrote: gt; �o presne znamen� quot;dostanem 15:00quot;? gt; gt; Je to hodnota v�sledn�ho objektu (sk�ali ste debug?)? gt; gt; Alebo je to v�sledn� hodnota zap�san� v DB? gt; gt; Pr�padne: je DB a aplik�cia na tom istom serveri? gt; gt; ...sk�sil by som presnej�ie lokalizova� p�vod probl�mu... gt; gt; GG gt; gt; -Original Message- gt; From: konference-boun...@java.cz mailto:konference-boun...@java.cz [mailto:konference-boun...@java.cz] On gt; Behalf Of Info gt; Sent: Monday, June 08, 2009 3:49 PM gt; To: Java gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; gt; mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim gt; skusam quot;zlozitquot; vysledny datum, z datumoveho policka acasoveho policka, z gt; vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; - Original Message gt; From: Java lt;konference@java.czgt; gt; To: Java lt;konference@java.czgt; gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; Date: 08/06/09 17:44 gt; gt; gt;gt; Info wrote: gt;gt; amp;gt; Zdravim konferenciu, gt;gt; amp;gt; gt;gt; amp;gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC gt;gt; gt; a mam gt; gt;gt; amp;gt; formularovy bean: gt;gt; amp;gt; gt;gt; amp;gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - gt;gt; gt; neukladaju sa do gt; gt;gt; amp;gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB gt;gt; gt; (publishDate). gt; gt;gt; amp;gt; gt;gt; amp;gt; mam definovane nasledovne initBinder-y pre pracovne policka gt;gt; gt; publishWDate a gt; gt;gt; amp;gt; publishWTime: gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterDate = new gt;gt; gt; SimpleDateFormat(amp;quot;dd.MM.amp;quot;); gt; gt;gt; amp;gt; formatterDate.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt
Re: datum a cas z dvoch policok do jednej premennej
Nemeral som, či je Calendar pomalší ako Date, ale zrejme áno. Ale v jednom projekte sme mali s Date problém pri serialiázii - neserializoval dobre čas. zónu. Tak sme na ho úplne zavrhli a už používame len Calendar. To bolo ešte v Java 1.4, Keď sa teraz pozerám do zdrojáku 1.6, zdá sa, že tam je to už inak - vytvára sa nejaký sun.util.calendar.BaseCalendar, ktorý je vytvorený pomocou CalendarSystem.getGregorianCalendar(), takže zrejme je to už inak. Ale ak je vnútri nejaká implementácia GregorianCalendar, tak to už nebude výrazne rýchlejšie od java.util.GregorianCalendar. V pôvodnom maile sa jednalo o UI, takže tam rýchlosť určite nehrá žiadnu rolu. Rastislav "Bedo" Siekel Ing. Rastislav Siekel Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia E-mail : sie...@prosoft.sk Tel : 041/562 54 91 Fax : 041/562 54 97 Mobil : 0905 34 00 20 Krankila Norbert Ing. wrote: Calendar je nesmierne pomaly, v momente, ked sa ma metoda pouzivat s vysokou frekvenciou, je lepsi new Date(aDate.getDate + aTime.getDate + nejaka_timezone_korekcia). N.K. Odesílatel: konference-boun...@java.cz [konference-boun...@java.cz] za uživatele Ivan Polák [i...@infoportal.sk] Odesláno: 8. června 2009 20:53 Komu: Java Předmět: Re: datum a cas z dvoch policok do jednej premennej vsetkym velmi pekne dakujem (najma Rastislavovi), to je to co som potreboval. Ivan Gabriel Gajdos wrote / napísal(a): Yo, to je to spravne... Ale podľa zadania treba prerobiť metodu na public static Date mergeDateAndTime(Date aDate, Date aTime) ...čo však každý zrejme zvládne ako cvičenie z čias, kedy sme s Javou začínali... ;-) GG *From:* konference-boun...@java.cz [mailto:konference-boun...@java.cz] *On Behalf Of *Rastislav Siekel *Sent:* Monday, June 08, 2009 4:42 PM *To:* Java *Subject:* Re: datum a cas z dvoch policok do jednej premennej Tak dobre. Keď si ich prevedieš na Calendar, potom je to takto: /** Z dvoch častí - dátumovej a časovej spraví jeden Calendar. * Ak je dátum NULL, vráti NULL. * Ak je čas NULL, berie default hodnotu 00:00:00.000 . */ public static Calendar mergeDateAndTime(Calendar aDate, Calendar aTime) { if(aDate == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime( aDate.getTime() ); if(aTime == null) { clearTime(cal); } else { cal.set(Calendar.HOUR_OF_DAY, aTime.get(Calendar.HOUR_OF_DAY) ); cal.set(Calendar.MINUTE, aTime.get(Calendar.MINUTE) ); cal.set(Calendar.SECOND, aTime.get(Calendar.SECOND) ); cal.set(Calendar.MILLISECOND, aTime.get(Calendar.MILLISECOND) ); } return cal; } Rastislav "Bedo" Siekel Info wrote: asi som to zle vysvetlil. predstavme si situaciu: mam web aplikaciu a 2 policka vo form. do prveho zapisujem datum do druheho cas. na tento formular mam pomocou Spring MVC zaveseny formularovy bean, a initBinder-y ktore mi zapecpecia konvertovanie String na java.util.Date. ale to je nepodstatne, podstatne je to ze ak zapisem dnesny datum 08.06.2009 a 17:00, tieto 2 hodnoty mi uspesne skonvertuje na 2 premenne java.util.Date. jedna ma hodnotu Mon Jun 08 00:00:00 CEST 2009 a druha Thu Jan 01 17:00:00 CET 1970. ako mam z toho dostat jednu premennu typy java.util.Date ktora by mala hodnotu Mon Jun 08 17:00:00 CEST 2009 ? dakujem Ivan - Original Message From: Java konference@java.cz mailto:konference@java.cz To: Java konference@java.cz mailto:konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 18:15 Gabriel Gajdos wrote: gt; �o presne znamen� quot;dostanem 15:00quot;? gt; gt; Je to hodnota v�sledn�ho objektu (sk�ali ste debug?)? gt; gt; Alebo je to v�sledn� hodnota zap�san� v DB? gt; gt; Pr�padne: je DB a aplik�cia na tom istom serveri? gt; gt; ...sk�sil by som presnej�ie lokalizova� p�vod probl�mu... gt; gt; GG gt; gt; -Original Message- gt; From: konference-boun...@java.cz mailto:konference-boun...@java.cz [mailto:konference-boun...@java.cz] On gt; Behalf Of Info gt; Sent: Monday, June 08, 2009 3:49 PM gt; To: Java gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; gt; mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim gt; skusam quot;zlozitquot; vysledny datum, z datumoveho policka acasoveho policka, z gt; vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; - Original Message gt; From: Java lt;konference@java.czgt; gt; To: Java lt;konference@java.czgt; gt; Subject: Re: datum a cas z dvoch policok do jednej preme
datum a cas z dvoch policok do jednej premennej
Zdravim konferenciu, poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC a mam formularovy bean: 2 pracovne premenne typu Date (publishWDate, publishWTime - neukladaju sa do DB) a jedna premenna tiez typu Date, ktora sa uklada do DB (publishDate). mam definovane nasledovne initBinder-y pre pracovne policka publishWDate a publishWTime: SimpleDateFormat formatterDate = new SimpleDateFormat(dd.MM.); formatterDate.setLenient(false); binder.registerCustomEditor(java.util.Date.class, publishWDate, new CustomDateEditor(formatterDate, true)); SimpleDateFormat formatterTime = new SimpleDateFormat(HH:mm); formatterTime.setLenient(false); binder.registerCustomEditor(java.util.Date.class, publishWTime, new CustomDateEditor(formatterTime, true)); po odoslani formualara su naplnene premenne spravne. chcem zlozit datum a cas do tretej premennej a ulozit ho do jedneho stlpca v DB. ako na to? ak pouzijem: ..setPublishDate(new java.util.Date( getPublishWDate().getTime() + getPublishWTime().getTime()) ); datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je problem s casouvou zonou. neviete prosim niekto poradit ako spravne zlozit z formulara datum a cas do jednej premennej. dakujem Ivan Message sent using Webmail 2.7.9
Re: datum a cas z dvoch policok do jednej premennej
Zdravim, skus java.util.Calendar ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html ) ya Dňa Po, 2009-06-08 o 10:59 +0200, Info napísal: Zdravim konferenciu, poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC a mam formularovy bean: 2 pracovne premenne typu Date (publishWDate, publishWTime - neukladaju sa do DB) a jedna premenna tiez typu Date, ktora sa uklada do DB (publishDate). mam definovane nasledovne initBinder-y pre pracovne policka publishWDate a publishWTime: SimpleDateFormat formatterDate = new SimpleDateFormat(dd.MM.); formatterDate.setLenient(false); binder.registerCustomEditor(java.util.Date.class, publishWDate, new CustomDateEditor(formatterDate, true)); SimpleDateFormat formatterTime = new SimpleDateFormat(HH:mm); formatterTime.setLenient(false); binder.registerCustomEditor(java.util.Date.class, publishWTime, new CustomDateEditor(formatterTime, true)); po odoslani formualara su naplnene premenne spravne. chcem zlozit datum a cas do tretej premennej a ulozit ho do jedneho stlpca v DB. ako na to? ak pouzijem: ..setPublishDate(new java.util.Date( getPublishWDate().getTime() + getPublishWTime().getTime()) ); datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je problem s casouvou zonou. neviete prosim niekto poradit ako spravne zlozit z formulara datum a cas do jednej premennej. dakujem Ivan Message sent using Webmail 2.7.9
Re: datum a cas z dvoch policok do jednej premennej
Info wrote: Zdravim konferenciu, poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC a mam formularovy bean: 2 pracovne premenne typu Date (publishWDate, publishWTime - neukladaju sa do DB) a jedna premenna tiez typu Date, ktora sa uklada do DB (publishDate). mam definovane nasledovne initBinder-y pre pracovne policka publishWDate a publishWTime: SimpleDateFormat formatterDate = new SimpleDateFormat(dd.MM.); formatterDate.setLenient(false); binder.registerCustomEditor(java.util.Date.class, publishWDate, new CustomDateEditor(formatterDate, true)); SimpleDateFormat formatterTime = new SimpleDateFormat(HH:mm); formatterTime.setLenient(false); binder.registerCustomEditor(java.util.Date.class, publishWTime, new CustomDateEditor(formatterTime, true)); po odoslani formualara su naplnene premenne spravne. chcem zlozit datum a cas do tretej premennej a ulozit ho do jedneho stlpca v DB. ako na to? ak pouzijem: ..setPublishDate(new java.util.Date( getPublishWDate().getTime() + getPublishWTime().getTime()) ); datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je problem s casouvou zonou. neviete prosim niekto poradit ako spravne zlozit z formulara datum a cas do jednej premennej. dakujem Ivan Message sent using Webmail 2.7.9 btw pokud pouzivas toplink, tak ten umi ukladat Date do DB jako sql.date, ktery neumi cas, musis tedy pouzit 2 policka nebo to obejit pres timestamp -- Petr Prikryl --- petrprik...@centrum.cz prik...@admin24.cz www.admin24.cz
Re: datum a cas z dvoch policok do jednej premennej
mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim skusam zlozit vysledny datum, z datumoveho policka acasoveho policka, z vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. dakujem Ivan - Original Message From: Java konference@java.cz To: Java konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 17:44 Info wrote: gt; Zdravim konferenciu, gt; gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC a mam gt; formularovy bean: gt; gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - neukladaju sa do gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB (publishDate). gt; gt; mam definovane nasledovne initBinder-y pre pracovne policka publishWDate a gt; publishWTime: gt; gt; SimpleDateFormat formatterDate = new SimpleDateFormat(quot;dd.MM.quot;); gt; formatterDate.setLenient(false); gt; binder.registerCustomEditor(java.util.Date.class, quot;publishWDatequot;, new gt; CustomDateEditor(formatterDate, true)); gt; gt; SimpleDateFormat formatterTime = new SimpleDateFormat(quot;HH:mmquot;); gt; formatterTime.setLenient(false); gt; binder.registerCustomEditor(java.util.Date.class, quot;publishWTimequot;, new gt; CustomDateEditor(formatterTime, true)); gt; gt; po odoslani formualara su naplnene premenne spravne. gt; gt; chcem quot;zlozitquot; datum a cas do tretej premennej a ulozit ho do jedneho stlpca gt; v DB. ako na to? gt; gt; ak pouzijem: gt; gt; ..setPublishDate(new java.util.Date( gt; getPublishWDate().getTime() + gt; getPublishWTime().getTime()) gt; ); gt; gt; datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je problem s gt; casouvou zonou. gt; gt; neviete prosim niekto poradit ako spravne quot;zlozitquot; z formulara datum a cas gt; do jednej premennej. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; Message sent using Webmail 2.7.9 gt; btw pokud pouzivas toplink, tak ten umi ukladat Date do DB jako sql.date, ktery neumi cas, musis tedy pouzit 2 policka nebo to obejit pres timestamp -- Petr Prikryl --- petrprik...@centrum.cz prik...@admin24.cz www.admin24.cz Message sent using Webmail 2.7.9
RE: datum a cas z dvoch policok do jednej premennej
Čo presne znamená dostanem 15:00? Je to hodnota výsledného objektu (skúšali ste debug?)? Alebo je to výsledná hodnota zapísaná v DB? Prípadne: je DB a aplikácia na tom istom serveri? ...skúsil by som presnejšie lokalizovať pôvod problému... GG -Original Message- From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf Of Info Sent: Monday, June 08, 2009 3:49 PM To: Java Subject: Re: datum a cas z dvoch policok do jednej premennej mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim skusam zlozit vysledny datum, z datumoveho policka acasoveho policka, z vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. dakujem Ivan - Original Message From: Java konference@java.cz To: Java konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 17:44 Info wrote: gt; Zdravim konferenciu, gt; gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC a mam gt; formularovy bean: gt; gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - neukladaju sa do gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB (publishDate). gt; gt; mam definovane nasledovne initBinder-y pre pracovne policka publishWDate a gt; publishWTime: gt; gt; SimpleDateFormat formatterDate = new SimpleDateFormat(quot;dd.MM.quot;); gt; formatterDate.setLenient(false); gt; binder.registerCustomEditor(java.util.Date.class, quot;publishWDatequot;, new gt; CustomDateEditor(formatterDate, true)); gt; gt; SimpleDateFormat formatterTime = new SimpleDateFormat(quot;HH:mmquot;); gt; formatterTime.setLenient(false); gt; binder.registerCustomEditor(java.util.Date.class, quot;publishWTimequot;, new gt; CustomDateEditor(formatterTime, true)); gt; gt; po odoslani formualara su naplnene premenne spravne. gt; gt; chcem quot;zlozitquot; datum a cas do tretej premennej a ulozit ho do jedneho stlpca gt; v DB. ako na to? gt; gt; ak pouzijem: gt; gt; ..setPublishDate(new java.util.Date( gt; getPublishWDate().getTime() + gt; getPublishWTime().getTime()) gt; ); gt; gt; datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je problem s gt; casouvou zonou. gt; gt; neviete prosim niekto poradit ako spravne quot;zlozitquot; z formulara datum a cas gt; do jednej premennej. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; Message sent using Webmail 2.7.9 gt; btw pokud pouzivas toplink, tak ten umi ukladat Date do DB jako sql.date, ktery neumi cas, musis tedy pouzit 2 policka nebo to obejit pres timestamp -- Petr Prikryl --- petrprik...@centrum.cz prik...@admin24.cz www.admin24.cz Message sent using Webmail 2.7.9 smime.p7s Description: S/MIME cryptographic signature
Re: datum a cas z dvoch policok do jednej premennej
Gabriel Gajdos wrote: Čo presne znamená dostanem 15:00? Je to hodnota výsledného objektu (skúšali ste debug?)? Alebo je to výsledná hodnota zapísaná v DB? Prípadne: je DB a aplikácia na tom istom serveri? ...skúsil by som presnejšie lokalizovať pôvod problému... GG -Original Message- From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf Of Info Sent: Monday, June 08, 2009 3:49 PM To: Java Subject: Re: datum a cas z dvoch policok do jednej premennej mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim skusam zlozit vysledny datum, z datumoveho policka acasoveho policka, z vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. dakujem Ivan - Original Message From: Java konference@java.cz To: Java konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 17:44 Info wrote: gt; Zdravim konferenciu, gt; gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC a mam gt; formularovy bean: gt; gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - neukladaju sa do gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB (publishDate). gt; gt; mam definovane nasledovne initBinder-y pre pracovne policka publishWDate a gt; publishWTime: gt; gt; SimpleDateFormat formatterDate = new SimpleDateFormat(quot;dd.MM.quot;); gt;formatterDate.setLenient(false); gt;binder.registerCustomEditor(java.util.Date.class, quot;publishWDatequot;, new gt; CustomDateEditor(formatterDate, true)); gt; gt;SimpleDateFormat formatterTime = new SimpleDateFormat(quot;HH:mmquot;); gt;formatterTime.setLenient(false); gt;binder.registerCustomEditor(java.util.Date.class, quot;publishWTimequot;, new gt; CustomDateEditor(formatterTime, true)); gt; gt; po odoslani formualara su naplnene premenne spravne. gt; gt; chcem quot;zlozitquot; datum a cas do tretej premennej a ulozit ho do jedneho stlpca gt; v DB. ako na to? gt; gt; ak pouzijem: gt; gt; ..setPublishDate(new java.util.Date( gt;getPublishWDate().getTime() + gt;getPublishWTime().getTime()) gt;); gt; gt; datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je problem s gt; casouvou zonou. gt; gt; neviete prosim niekto poradit ako spravne quot;zlozitquot; z formulara datum a cas gt; do jednej premennej. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; Message sent using Webmail 2.7.9 gt; btw pokud pouzivas toplink, tak ten umi ukladat Date do DB jako sql.date, ktery neumi cas, musis tedy pouzit 2 policka nebo to obejit pres timestamp -- Petr Prikryl --- petrprik...@centrum.cz prik...@admin24.cz www.admin24.cz Message sent using Webmail 2.7.9 jak jsem rikal mas to blbe namapovane do db podle me -- Petr Prikryl --- petrprik...@centrum.cz prik...@admin24.cz www.admin24.cz
Re: datum a cas z dvoch policok do jednej premennej
asi som to zle vysvetlil. predstavme si situaciu: mam web aplikaciu a 2 policka vo form. do prveho zapisujem datum do druheho cas. na tento formular mam pomocou Spring MVC zaveseny formularovy bean, a initBinder-y ktore mi zapecpecia konvertovanie String na java.util.Date. ale to je nepodstatne, podstatne je to ze ak zapisem dnesny datum 08.06.2009 a 17:00, tieto 2 hodnoty mi uspesne skonvertuje na 2 premenne java.util.Date. jedna ma hodnotu Mon Jun 08 00:00:00 CEST 2009 a druha Thu Jan 01 17:00:00 CET 1970. ako mam z toho dostat jednu premennu typy java.util.Date ktora by mala hodnotu Mon Jun 08 17:00:00 CEST 2009 ? dakujem Ivan - Original Message From: Java konference@java.cz To: Java konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 18:15 Gabriel Gajdos wrote: gt; �o presne znamen� quot;dostanem 15:00quot;? gt; gt; Je to hodnota v�sledn�ho objektu (sk�ali ste debug?)? gt; gt; Alebo je to v�sledn� hodnota zap�san� v DB? gt; gt; Pr�padne: je DB a aplik�cia na tom istom serveri? gt; gt; ...sk�sil by som presnej�ie lokalizova� p�vod probl�mu... gt; gt; GG gt; gt; -Original Message- gt; From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On gt; Behalf Of Info gt; Sent: Monday, June 08, 2009 3:49 PM gt; To: Java gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; gt; mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim gt; skusam quot;zlozitquot; vysledny datum, z datumoveho policka acasoveho policka, z gt; vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; - Original Message gt; From: Java lt;konference@java.czgt; gt; To: Java lt;konference@java.czgt; gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; Date: 08/06/09 17:44 gt; gt; gt;gt; Info wrote: gt;gt; amp;gt; Zdravim konferenciu, gt;gt; amp;gt; gt;gt; amp;gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC gt;gt; gt; a mam gt; gt;gt; amp;gt; formularovy bean: gt;gt; amp;gt; gt;gt; amp;gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - gt;gt; gt; neukladaju sa do gt; gt;gt; amp;gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB gt;gt; gt; (publishDate). gt; gt;gt; amp;gt; gt;gt; amp;gt; mam definovane nasledovne initBinder-y pre pracovne policka gt;gt; gt; publishWDate a gt; gt;gt; amp;gt; publishWTime: gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterDate = new gt;gt; gt; SimpleDateFormat(amp;quot;dd.MM.amp;quot;); gt; gt;gt; amp;gt; formatterDate.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWDateamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterDate, true)); gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterTime = new gt;gt; gt; SimpleDateFormat(amp;quot;HH:mmamp;quot;); gt; gt;gt; amp;gt; formatterTime.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWTimeamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterTime, true)); gt;gt; amp;gt; gt;gt; amp;gt; po odoslani formualara su naplnene premenne spravne. gt;gt; amp;gt; gt;gt; amp;gt; chcem amp;quot;zlozitamp;quot; datum a cas do tretej premennej a ulozit ho gt;gt; gt; do jedneho stlpca gt; gt;gt; amp;gt; v DB. ako na to? gt;gt; amp;gt; gt;gt; amp;gt; ak pouzijem: gt;gt; amp;gt; gt;gt; amp;gt; ..setPublishDate(new java.util.Date( gt;gt; amp;gt; getPublishWDate().getTime() + gt;gt; amp;gt; getPublishWTime().getTime()) gt;gt; amp;gt; ); gt;gt; amp;gt; gt;gt; amp;gt; datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je gt;gt; gt; problem s gt; gt;gt; amp;gt; casouvou zonou. gt;gt; amp;gt; gt;gt; amp;gt; neviete prosim niekto poradit ako spravne amp;quot;zlozitamp;quot; z gt;gt; gt; formulara datum a cas gt; gt;gt; amp;gt; do jednej premennej. gt;gt; amp;gt; gt;gt; amp;gt; dakujem gt;gt; amp;gt; gt;gt; amp;gt; Ivan gt;gt; amp;gt; gt;gt; amp;gt; gt;gt; amp;gt; Message sent using Webmail 2.7.9 gt;gt; amp;gt; gt;gt; btw gt;gt; pokud pouzivas toplink, tak ten umi ukladat Date do DB jako sql.date, gt;gt; ktery neumi cas, musis tedy pouzit 2 policka nebo to obejit pres timestamp gt;gt; gt;gt; gt;gt; -- gt;gt; Petr Prikryl gt;gt; --- gt;gt; petrprik...@centrum.cz gt;gt; prik...@admin24.cz gt;gt; www.admin24.cz gt;gt; gt;gt; gt;gt; gt;gt; gt; gt; gt; Message
Re: datum a cas z dvoch policok do jednej premennej
Tak dobre. Ke si ich prevedie na Calendar, potom je to takto: /** Z dvoch ast - dtumovej a asovej sprav jeden Calendar. * Ak je dtum NULL, vrti NULL. * Ak je as NULL, berie default hodnotu 00:00:00.000 . */ public static Calendar mergeDateAndTime(Calendar aDate, Calendar aTime) { if(aDate == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime( aDate.getTime() ); if(aTime == null) { clearTime(cal); } else { cal.set(Calendar.HOUR_OF_DAY, aTime.get(Calendar.HOUR_OF_DAY) ); cal.set(Calendar.MINUTE, aTime.get(Calendar.MINUTE) ); cal.set(Calendar.SECOND, aTime.get(Calendar.SECOND) ); cal.set(Calendar.MILLISECOND, aTime.get(Calendar.MILLISECOND) ); } return cal; } Rastislav "Bedo" Siekel Info wrote: asi som to zle vysvetlil. predstavme si situaciu: mam web aplikaciu a 2 policka vo form. do prveho zapisujem datum do druheho cas. na tento formular mam pomocou Spring MVC zaveseny formularovy bean, a initBinder-y ktore mi zapecpecia konvertovanie String na java.util.Date. ale to je nepodstatne, podstatne je to ze ak zapisem dnesny datum 08.06.2009 a 17:00, tieto 2 hodnoty mi uspesne skonvertuje na 2 premenne java.util.Date. jedna ma hodnotu Mon Jun 08 00:00:00 CEST 2009 a druha Thu Jan 01 17:00:00 CET 1970. ako mam z toho dostat jednu premennu typy java.util.Date ktora by mala hodnotu Mon Jun 08 17:00:00 CEST 2009 ? dakujem Ivan - Original Message From: Java konference@java.cz To: Java konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 18:15 Gabriel Gajdos wrote: gt; o presne znamen quot;dostanem 15:00quot;? gt; gt; Je to hodnota vslednho objektu (skali ste debug?)? gt; gt; Alebo je to vsledn hodnota zapsan v DB? gt; gt; Prpadne: je DB a aplikcia na tom istom serveri? gt; gt; ...sksil by som presnejie lokalizova pvod problmu... gt; gt; GG gt; gt; -Original Message- gt; From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On gt; Behalf Of Info gt; Sent: Monday, June 08, 2009 3:49 PM gt; To: Java gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; gt; mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim gt; skusam quot;zlozitquot; vysledny datum, z datumoveho policka acasoveho policka, z gt; vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; - Original Message gt; From: Java lt;konference@java.czgt; gt; To: Java lt;konference@java.czgt; gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; Date: 08/06/09 17:44 gt; gt; gt;gt; Info wrote: gt;gt; amp;gt; Zdravim konferenciu, gt;gt; amp;gt; gt;gt; amp;gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC gt;gt; gt; a mam gt; gt;gt; amp;gt; formularovy bean: gt;gt; amp;gt; gt;gt; amp;gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - gt;gt; gt; neukladaju sa do gt; gt;gt; amp;gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB gt;gt; gt; (publishDate). gt; gt;gt; amp;gt; gt;gt; amp;gt; mam definovane nasledovne initBinder-y pre pracovne policka gt;gt; gt; publishWDate a gt; gt;gt; amp;gt; publishWTime: gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterDate = new gt;gt; gt; SimpleDateFormat(amp;quot;dd.MM.amp;quot;); gt; gt;gt; amp;gt; formatterDate.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWDateamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterDate, true)); gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterTime = new gt;gt; gt; SimpleDateFormat(amp;quot;HH:mmamp;quot;); gt; gt;gt; amp;gt; formatterTime.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWTimeamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterTime, true)); gt;gt; amp;gt; gt;gt; amp;gt; po odoslani formualara su naplnene premenne spravne. gt;gt; amp;gt; gt;gt; amp;gt; chcem amp;quot;zlozitamp;quot; datum a cas do tretej premennej a ulozit ho gt;gt; gt; do jedneho stlpca gt; gt;gt; amp;gt; v DB. ako na to? gt;gt; amp;gt; gt;gt; amp;gt; ak pouzijem: gt;gt; amp;gt; gt;gt; amp;gt; ..setPublishDate(new java.util.Date( gt;gt; amp;gt; getPublishWDate().getTime() + gt;gt; amp;gt; getPublishWTime().getTime()) gt;gt; amp;gt; ); gt;gt; amp;gt; gt;gt; amp;gt; datum je OK, ale cas je mensi o 1 hodinu, predpokladam , ze je gt;gt; gt; problem s gt; gt;gt; amp;gt; casouvou zonou. gt;gt; amp;gt; gt;gt; amp;gt; neviete prosim niekto poradit ako spravne amp;quot;zlozitamp;quot; z gt;gt; gt; formu
RE: datum a cas z dvoch policok do jednej premennej
Yo, to je to spravne... Ale podľa zadania treba prerobiť metodu na public static Date mergeDateAndTime(Date aDate, Date aTime) ...čo však každý zrejme zvládne ako cvičenie z čias, kedy sme s Javou začínali... ;-) GG _ From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf Of Rastislav Siekel Sent: Monday, June 08, 2009 4:42 PM To: Java Subject: Re: datum a cas z dvoch policok do jednej premennej Tak dobre. Keď si ich prevedieš na Calendar, potom je to takto: /** Z dvoch častí - dátumovej a časovej spraví jeden Calendar. * Ak je dátum NULL, vráti NULL. * Ak je čas NULL, berie default hodnotu 00:00:00.000 . */ public static Calendar mergeDateAndTime(Calendar aDate, Calendar aTime) { if(aDate == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime( aDate.getTime() ); if(aTime == null) { clearTime(cal); } else { cal.set(Calendar.HOUR_OF_DAY, aTime.get(Calendar.HOUR_OF_DAY) ); cal.set(Calendar.MINUTE, aTime.get(Calendar.MINUTE) ); cal.set(Calendar.SECOND, aTime.get(Calendar.SECOND) ); cal.set(Calendar.MILLISECOND, aTime.get(Calendar.MILLISECOND) ); } return cal; } Rastislav Bedo Siekel Info wrote: asi som to zle vysvetlil. predstavme si situaciu: mam web aplikaciu a 2 policka vo form. do prveho zapisujem datum do druheho cas. na tento formular mam pomocou Spring MVC zaveseny formularovy bean, a initBinder-y ktore mi zapecpecia konvertovanie String na java.util.Date. ale to je nepodstatne, podstatne je to ze ak zapisem dnesny datum 08.06.2009 a 17:00, tieto 2 hodnoty mi uspesne skonvertuje na 2 premenne java.util.Date. jedna ma hodnotu Mon Jun 08 00:00:00 CEST 2009 a druha Thu Jan 01 17:00:00 CET 1970. ako mam z toho dostat jednu premennu typy java.util.Date ktora by mala hodnotu Mon Jun 08 17:00:00 CEST 2009 ? dakujem Ivan - Original Message From: Java mailto:konference@java.cz konference@java.cz To: Java mailto:konference@java.cz konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 18:15 Gabriel Gajdos wrote: gt; �o presne znamen� quot;dostanem 15:00quot;? gt; gt; Je to hodnota v�sledn�ho objektu (sk�ali ste debug?)? gt; gt; Alebo je to v�sledn� hodnota zap�san� v DB? gt; gt; Pr�padne: je DB a aplik�cia na tom istom serveri? gt; gt; ...sk�sil by som presnej�ie lokalizova� p�vod probl�mu... gt; gt; GG gt; gt; -Original Message- gt; From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On gt; Behalf Of Info gt; Sent: Monday, June 08, 2009 3:49 PM gt; To: Java gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; gt; mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim gt; skusam quot;zlozitquot; vysledny datum, z datumoveho policka acasoveho policka, z gt; vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; - Original Message gt; From: Java lt;konference@java.czgt; gt; To: Java lt;konference@java.czgt; gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; Date: 08/06/09 17:44 gt; gt; gt;gt; Info wrote: gt;gt; amp;gt; Zdravim konferenciu, gt;gt; amp;gt; gt;gt; amp;gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC gt;gt; gt; a mam gt; gt;gt; amp;gt; formularovy bean: gt;gt; amp;gt; gt;gt; amp;gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - gt;gt; gt; neukladaju sa do gt; gt;gt; amp;gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB gt;gt; gt; (publishDate). gt; gt;gt; amp;gt; gt;gt; amp;gt; mam definovane nasledovne initBinder-y pre pracovne policka gt;gt; gt; publishWDate a gt; gt;gt; amp;gt; publishWTime: gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterDate = new gt;gt; gt; SimpleDateFormat(amp;quot;dd.MM.amp;quot;); gt; gt;gt; amp;gt; formatterDate.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWDateamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterDate, true)); gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterTime = new gt;gt; gt; SimpleDateFormat(amp;quot;HH:mmamp;quot;); gt; gt;gt; amp;gt; formatterTime.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWTimeamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterTime, true)); gt;gt; amp;gt; gt;gt; amp;gt; po odoslani formualara su naplnene premenne spravne. gt;gt; amp;gt; gt;gt; amp;gt; chcem amp;quot;zlozitamp;quot; datum a cas
Re: datum a cas z dvoch policok do jednej premennej
vsetkym velmi pekne dakujem (najma Rastislavovi), to je to co som potreboval. Ivan Gabriel Gajdos wrote / napísal(a): Yo, to je to spravne... Ale podľa zadania treba prerobiť metodu na public static Date mergeDateAndTime(Date aDate, Date aTime) ...čo však každý zrejme zvládne ako cvičenie z čias, kedy sme s Javou začínali... ;-) GG *From:* konference-boun...@java.cz [mailto:konference-boun...@java.cz] *On Behalf Of *Rastislav Siekel *Sent:* Monday, June 08, 2009 4:42 PM *To:* Java *Subject:* Re: datum a cas z dvoch policok do jednej premennej Tak dobre. Keď si ich prevedieš na Calendar, potom je to takto: /** Z dvoch častí - dátumovej a časovej spraví jeden Calendar. * Ak je dátum NULL, vráti NULL. * Ak je čas NULL, berie default hodnotu 00:00:00.000 . */ public static Calendar mergeDateAndTime(Calendar aDate, Calendar aTime) { if(aDate == null) return null; Calendar cal = Calendar.getInstance(); cal.setTime( aDate.getTime() ); if(aTime == null) { clearTime(cal); } else { cal.set(Calendar.HOUR_OF_DAY, aTime.get(Calendar.HOUR_OF_DAY) ); cal.set(Calendar.MINUTE, aTime.get(Calendar.MINUTE) ); cal.set(Calendar.SECOND, aTime.get(Calendar.SECOND) ); cal.set(Calendar.MILLISECOND, aTime.get(Calendar.MILLISECOND) ); } return cal; } Rastislav Bedo Siekel Info wrote: asi som to zle vysvetlil. predstavme si situaciu: mam web aplikaciu a 2 policka vo form. do prveho zapisujem datum do druheho cas. na tento formular mam pomocou Spring MVC zaveseny formularovy bean, a initBinder-y ktore mi zapecpecia konvertovanie String na java.util.Date. ale to je nepodstatne, podstatne je to ze ak zapisem dnesny datum 08.06.2009 a 17:00, tieto 2 hodnoty mi uspesne skonvertuje na 2 premenne java.util.Date. jedna ma hodnotu Mon Jun 08 00:00:00 CEST 2009 a druha Thu Jan 01 17:00:00 CET 1970. ako mam z toho dostat jednu premennu typy java.util.Date ktora by mala hodnotu Mon Jun 08 17:00:00 CEST 2009 ? dakujem Ivan - Original Message From: Java konference@java.cz mailto:konference@java.cz To: Java konference@java.cz mailto:konference@java.cz Subject: Re: datum a cas z dvoch policok do jednej premennej Date: 08/06/09 18:15 Gabriel Gajdos wrote: gt; �o presne znamen� quot;dostanem 15:00quot;? gt; gt; Je to hodnota v�sledn�ho objektu (sk�ali ste debug?)? gt; gt; Alebo je to v�sledn� hodnota zap�san� v DB? gt; gt; Pr�padne: je DB a aplik�cia na tom istom serveri? gt; gt; ...sk�sil by som presnej�ie lokalizova� p�vod probl�mu... gt; gt; GG gt; gt; -Original Message- gt; From: konference-boun...@java.cz mailto:konference-boun...@java.cz [mailto:konference-boun...@java.cz] On gt; Behalf Of Info gt; Sent: Monday, June 08, 2009 3:49 PM gt; To: Java gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; gt; mne skor ide o to, ze musim mat jednu premennu v DB a ked este pred ulozenim gt; skusam quot;zlozitquot; vysledny datum, z datumoveho policka acasoveho policka, z gt; vlozeneho napr. 08.06.2009 a 16:00 dostanem 08.06.2009 15:00. gt; gt; dakujem gt; gt; Ivan gt; gt; gt; - Original Message gt; From: Java lt;konference@java.czgt; gt; To: Java lt;konference@java.czgt; gt; Subject: Re: datum a cas z dvoch policok do jednej premennej gt; Date: 08/06/09 17:44 gt; gt; gt;gt; Info wrote: gt;gt; amp;gt; Zdravim konferenciu, gt;gt; amp;gt; gt;gt; amp;gt; poprosil by som o pomoc s nasledovnym problemom. pouzivam Spring MVC gt;gt; gt; a mam gt; gt;gt; amp;gt; formularovy bean: gt;gt; amp;gt; gt;gt; amp;gt; 2 pracovne premenne typu Date (publishWDate, publishWTime - gt;gt; gt; neukladaju sa do gt; gt;gt; amp;gt; DB) a jedna premenna tiez typu Date, ktora sa uklada do DB gt;gt; gt; (publishDate). gt; gt;gt; amp;gt; gt;gt; amp;gt; mam definovane nasledovne initBinder-y pre pracovne policka gt;gt; gt; publishWDate a gt; gt;gt; amp;gt; publishWTime: gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterDate = new gt;gt; gt; SimpleDateFormat(amp;quot;dd.MM.amp;quot;); gt; gt;gt; amp;gt; formatterDate.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp;quot;publishWDateamp;quot;, new gt; gt;gt; amp;gt; CustomDateEditor(formatterDate, true)); gt;gt; amp;gt; gt;gt; amp;gt; SimpleDateFormat formatterTime = new gt;gt; gt; SimpleDateFormat(amp;quot;HH:mmamp;quot;); gt; gt;gt; amp;gt; formatterTime.setLenient(false); gt;gt; amp;gt; binder.registerCustomEditor(java.util.Date.class, gt;gt; gt; amp