2014-03-24 128 views
0

我試圖解析一些時間字符串是這樣的:錯誤而解析時間字符串

String time_string = "10:00 AM"; 
SimpleDateFormat format = new SimpleDateFormat("hh:mm a"); 
Date date = null; 
try { 
    date = format.parse(time_string); 
    // Do something with 'date' 
} catch (ParseException e) { 
    Log.w("Time", e.toString()); 
} 

但是解析器與異常失敗:

java.text.ParseException: Unparseable date: "10:00 AM"

我在做什麼錯?

回答

2

的AM/PM標記可能不匹配您的默認Locale的嘗試

SimpleDateFormat format = new SimpleDateFormat("hh:mm a", Locale.ENGLISH); 
+0

那它。謝謝(必須等待10分鐘以標記爲正確)。只是爲了好奇,AM/PM之外還有其他的標記嗎?我從來沒有見過他們的任何翻譯。 – Guilherme

+0

'DateFormat'模式組件的完整列表可以在[javadoc]中找到(http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)。爲了查找當前'Locale'日期格式組件值,請查看[DateFormatSymbols](http://docs.oracle.com/javase/7/docs/api/java/text/DateFormatSymbols.html) – Reimeus