geir_a Skrevet 28. desember 2008 Del Skrevet 28. desember 2008 (endret) Jeg er igang med et lite J2ME-prosjekt etter å ha vært borte fra programmering i noen år. Nå står jeg fast, og håper noen her kan hjelpe. Jeg skal finne ukedag (et tall fra 1-7) ut ifra en dato (String) på formatet; "2008-12-28". Koden jeg for øyblikket har kommet fram til, men som ikke fungerer, ser slik ut: String date = "2008-12-28"; Calendar mCalendar; int day = 0; int month = 0; int year = 0; day = Integer.parseInt(date.substring(8, 10)); month = Integer.parseInt(date.substring(5, 7)); year = Integer.parseInt(date.substring(0, 4)); mCalendar = Calendar.getInstance(); mCalendar.set(Calendar.DAY_OF_MONTH, day); mCalendar.set(Calendar.MONTH, month); mCalendar.set(Calendar.YEAR, year); try { System.out.println("DAY_OF_WEEK: " + mCalendar.get(Calendar.DAY_OF_WEEK)); } catch (Exception e) { e.printStackTrace(); } Dette fører til en java.lang.IllegalArgumentException. Hvis noen kan gi et hint i riktig retning, hadde jeg vært takknemlig. Endret 29. desember 2008 av geir_a Lenke til kommentar
pgdx Skrevet 28. desember 2008 Del Skrevet 28. desember 2008 Bytt ut Calendar.getInstance() med new GregorianCalendar() Lenke til kommentar
pgdx Skrevet 28. desember 2008 Del Skrevet 28. desember 2008 Kan du forresten skrive ut feilmeldingen? Lenke til kommentar
geir_a Skrevet 28. desember 2008 Forfatter Del Skrevet 28. desember 2008 (endret) Så vidt jeg vet eksisterer ikke GregorianCalendar i J2ME. Jeg finner det i hvert fall ikke i MIDP API-dokumentasjonen. Feilmeldingen fra printStackTrace(): java.lang.IllegalArgumentException - com.sun.cldc.util.j2me.TimeZoneImpl.getOffset(), bci=14 - com.sun.cldc.util.j2me.CalendarImpl.computeTime(), bci=225 - java.util.Calendar.getTimeInMillis(), bci=8 - java.util.Calendar.get(), bci=25 - Day.<init>(), bci=153 - TestCanvas.<init>(), bci=22 - TestMIDlet.startApp(), bci=12 - javax.microedition.midlet.MIDletInvoker.invokeStartApp(), bci=1 - com.symbian.j2me.midp.runtimeV2.Application.startAction(), bci=13 - com.symbian.j2me.midp.runtimeV2.Application.startRequest(), bci=83 - com.symbian.j2me.midp.runtimeV2.Application.event(), bci=110 - com.symbian.j2me.midp.runtimeV2.ApplicationEvent.dispatch(), bci=2 - com.symbian.j2me.midp.runtimeV2.ApplicationThread.run(), bci=23 Endret 28. desember 2008 av geir_a Lenke til kommentar
geir_a Skrevet 29. desember 2008 Forfatter Del Skrevet 29. desember 2008 Problemet ligger i linja mCalendar.set(Calendar.MONTH, month); som skal endres til mCalendar.set(Calendar.MONTH, month - 1); I Calendar-klassen er gyldige verdier for måned 0 til 11. Det ble selvfølgelig krøll da jeg prøvde å sette verdien for måned til 12. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå