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 : <[email protected]>
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: [email protected] [[email protected]] za uživatele Ivan Polák [[email protected]]
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:* [email protected] [mailto:[email protected]]
*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 <[email protected]> <mailto:[email protected]>
To: Java <[email protected]> <mailto:[email protected]>
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:00&quot;?
&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: [email protected] <mailto:[email protected]> [mailto:[email protected]]

      
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;zlozit&quot; 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;[email protected]&gt;
&gt; To: Java &lt;[email protected]&gt;
&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.yyyy&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;publishWDate&amp;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:mm&amp;quot;);
&gt;
&gt;&gt; &amp;gt;               formatterTime.setLenient(false);
&gt;&gt; &amp;gt;               binder.registerCustomEditor(java.util.Date.class,
&gt;&gt;
&gt; &amp;quot;publishWTime&amp;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;zlozit&amp;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;zlozit&amp;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; [email protected] <mailto:[email protected]>
&gt;&gt; [email protected] <mailto:[email protected]>
&gt;&gt; www.admin24.cz <http://www.admin24.cz>
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;
&gt; ________________________________________________
&gt; Message sent using Webmail 2.7.9
&gt;
jak jsem rikal mas to blbe namapovane do db podle me


--
Petr Prikryl
-----------------------
[email protected] <mailto:[email protected]>
[email protected] <mailto:[email protected]>
www.admin24.cz <http://www.admin24.cz>




      
________________________________________________
Message sent using Webmail 2.7.9

    


 
 
Tento e-mail je urcen pouze pro jeho adresata/adresaty a muze obsahovat duverne informace, jejichz ochrana muze byt vyzadovana pravnimi predpisy.
Jestlize jste zpravu obdrzel(a) omylem, neprodlene informujte jejiho odesilatele a tuto zpravu, jeji prilohy a pripadne kopie ihned vymazte. Jakakoli forma uziti, zverejneni, reprodukce, kopirovani, distribuce a sireni teto zpravy je v takovem pripade zakazana.
Komercni banka, a.s., neodpovida za mozne skody zpusobene neuplnym prenosem, moznou modifikaci ci zpozdenim teto zpravy behem prenosu od odesilatele k adresatovi.


This e-mail transmission is intended solely for the ordinary user of the e-mail address to which it was addressed. It may contain legally privileged and/or confidential information. 
If you have received this e-mail in error or are not an intended recipient please inform the sender with-out delay and delete this e-mail, attachments and possible copies immediately. The unauthorised use, disclosure, distribution and/or copying of this e-mail or any information it contains is prohibited. 
Komercni banka, a. s., does not accept liability for any damage caused by incomplete transmission, possible modification or delay of this e-mail during the transmission from the sender to the recipient.

  

Odpovedet emailem