2014-03-24 129 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