webForumDet fria alternativet

månadsproblem i datumparsning

1 svar · 412 visningar · startad av HiDensity

HiDensityMedlem sedan dec. 20051 644 inlägg
#1

Tjo!
Jag plockar ner en webbsida innehållande datum som jag parsar ut.. datumen ser ut såhär:

26 Apr 06
10 May 06

Jag använder följande kod för att konvertera till formatet jag vill ha:

String datestring = row.substring(20,row.indexOf(datekey)); //datestring innehåller datumet
SimpleDateFormat dateformatfrom = new SimpleDateFormat("dd MMM yy"); //nuvarande format
Date mydate = dateformatfrom.parse(datestring); 
SimpleDateFormat dateformatto = new SimpleDateFormat("yyyy-MM-dd"); //önskat format
String newdatestring = dateformatto.format(mydate);

Mitt problem är att jag får ParseException när datum innehållande engelska namn ska parsas.

java.text.ParseException: Unparseable date: "06 Oct 05"
java.text.ParseException: Unparseable date: "13 Oct 05"
java.text.ParseException: Unparseable date: "20 Oct 05"
java.text.ParseException: Unparseable date: "27 Oct 05"
java.text.ParseException: Unparseable date: "03 May 06"
java.text.ParseException: Unparseable date: "10 May 06"
java.text.ParseException: Unparseable date: "17 May 06"

Det verkar alltså som parsern kör med svenska namn som default. Hur ställer jag om detta till engelska månadsnamn?

HiDensityMedlem sedan dec. 20051 644 inlägg
#2

Problem löst!

Ändring:

SimpleDateFormat dateformatfrom = new SimpleDateFormat("d MMM yy"[B],Locale.US[/B]);
Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb