/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
dato parse problemmer
Fra : Peter


Dato : 12-08-01 22:02

Jeg har lidt problemmer med at fåe n dato/tid streng parset til et dato
object. Kode:

String DateTime = "2000/04/30 17:55:03 +2:00 GMT";
System.out.println("DateTime = " + DateTime);
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/DD hh:mm:ss z");
ParsePosition pos = new ParsePosition(0);
Date d = format.parse(DateTime,pos);
System.out.println("parsed Date = " + d);

giver resultat:

DateTime = 2000/04/30 17:55:03 +2:00 GMT
parsed Date = Sun Jan 30 16:55:03 CET 2000

Jeg vil jo mene at det burde være den 30 april! Det er lige meget hvilket
tal på plads MM jeg bruger, det bliver altid Jan.

Er der nogen der har en ide om hvad der går galt?

/Peter

 
 
Morten Jensen (13-08-2001)
Kommentar
Fra : Morten Jensen


Dato : 13-08-01 10:37

Peter wrote:
> Jeg har lidt problemmer med at fåe n dato/tid streng parset til et dato
> object. Kode:
>
> String DateTime = "2000/04/30 17:55:03 +2:00 GMT";
> System.out.println("DateTime = " + DateTime);
> SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/DD hh:mm:ss z");
> ParsePosition pos = new ParsePosition(0);
> Date d = format.parse(DateTime,pos);
> System.out.println("parsed Date = " + d);

Dato'en skal være "dd" istedet for "DD". "DD" står for dag i året
(d.v.s. 31. januar er 31, mens 1. februar er 32). Den har åbenbart mere
vægt end MM, eller også er det bare fordi den kommer senere i strengen.

> giver resultat:
>
> DateTime = 2000/04/30 17:55:03 +2:00 GMT
> parsed Date = Sun Jan 30 16:55:03 CET 2000

Hvilket netop passer med at den "parsed Date" er dag nummer 30 i året.

--
CAPUT A/S Morten Jensen Phone +45 70 12 24 42
Nygade 6 Senior Developer Fax +45 70 11 24 42
DK-1164 Kbh K jensen@caput.com http://www.caput.com


Peter (13-08-2001)
Kommentar
Fra : Peter


Dato : 13-08-01 12:40


> Dato'en skal være "dd" istedet for "DD". "DD" står for dag i året
> (d.v.s. 31. januar er 31, mens 1. februar er 32). Den har åbenbart mere
> vægt end MM, eller også er det bare fordi den kommer senere i strengen.
>

Selvfølgelig! Hvis man dog bare kunne læse API'en ordentlig...

Tak for hjælpen.
/Peter

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408928
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste