Moi,
Mulla on tällainen metodi...
public static String dateToString(Date date, String pattern) {
try {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
SimpleDateFormat df = new SimpleDateFormat(pattern);
return df.format(cal.getTime());
} catch (Exception e) {
}
return "";
}
Tuo näyttäisi palauttavan lopputuloksessa kuukauden väärin, yhtä pienempänä kuin pitäisi. (Eli siinä muodossa, jossa kuukausi ilmeisesti on indeksoituna Date-oliossa.) Mitenköhän näitä tilanteita kuuluisi hoitaa? Tuntuu todella kömpelöltä korjaukselta lisätä kuukausi ylimääräistä ennen formatia.
Onko normaalia, että Calendar ja Date toimii näin huonosti yhteen, vai onko taas käyttäjässä vika?
Date, Calendar
2
113
Vastaukset
- FoobarFoo
Hieman vaikeasti tuntuu menevän, koska metodin voi käytännössä yhdellä rivillä:
public static String dateToString(Date date, String pattern) {
return new SimpleDateFormat(format).format(pattern);
}
ja testi
public void testFormatting(){
Formater formater = new Formater();
String result = formater.dateToString(Calendar.getInstance().getTime(), "dd.MM.yyyy");
assertEquals("20.07.2011", result);
}- foobarfoo
Ylempään luokkaan jäi näemmä static-sana. Mutta tälläisenä yleisenä hyvänä(tm) neuvona:
1. Vältä staattisia metodeja aina kun voit (eli käytännössä aina). Teet vaan testaamisesta hankalampaa.
2. Älä koskaan ja ikinä catchaa kaikkia poikkeuksia (Exception), varsinkaan kun tee mitään merkintää siitä että tapahtui poikkeus. DateFormater heittää IllegalArgumentException, jollei se ymmärrä haluta pvm-muotoa. NullPointterin-Exception catchaaminen on siinä ja siinä.
PS. Olisit tehnyt väärin jos olisit alkanut lisää tuossa dateToString-metodissa kuukausia tuohon date-olioon. Harjoitteluksi saat selvittää että miksi:)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Voitasko leikkiä jotain tunnisteleikkiä?
Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta812057Tietysti jokainen ansaitsee
Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt181763- 161644
50+ naiset kyl
Lemottaa sillille mut myös niitte kaka lemottaa pahlle ku kävin naiste veskis nuuhiin211450Jotain puuttuu
Kun en sinua näe. Et ehkä arvaisi, mutta olen arka kuin alaston koivu lehtiä vailla, talven jäljiltä, kun ajattelen sinu641384hieman diabetes...
Kävin eilen kaverin kanssa keskusapteekissa kun on muutama kuukausi sitten tullut suomesta ja oli diabetes insuliinit lo191321- 761298
Välitän sinusta mies
Kaikki mitä yritin kertoa tänään ei mennyt ihan putkeen..Joka jäi jälkeenpäin ajateltuna suoraan sanottuna harmittaa aiv61292En voi sille mitään
Tulen niin pahalle tuulelle tästä paikasta nykyisin. Nähnyt ja lukenut jo kaiken ja teidän juttu on samaa illasta toisee121274Miten joku voi käyttää koko elämänsä
siihen että nostelee täällä vanhoja ketjuja ja troIIaa niihin jotain linkkiä mitä kukaan ei avaa? Ihmisellä ei ole mitää101241