2012-02-15 82 views
2

为什么下面的代码抛出ParseException?java中的日期解析抛出异常

DateFormat df = new SimpleDateFormat("MMM d, yyyy"); 
String date = "Jan 1, 2011"; 
df.parse(date); 

结果:

java.text.ParseException:无法解析的日期: “2011年1月1日”

+3

在我的机器上正常工作。 – 2012-02-15 12:34:44

+0

你确定吗?对我来说似乎没有问题。应该管用。 – 2012-02-15 12:36:21

+1

你的默认语言环境是什么? – dasblinkenlight 2012-02-15 12:36:29

回答

2

为@Gijs Overvliet提到它与区域设置参数有关。 例如,我使用土耳其语区域设置,我的字符串应该相应地设置。

public static void main(String[] args) throws ParseException 
{ 
    DateFormat df = new SimpleDateFormat("MMM d, yyyy", Locale.getDefault()); 
    String date = "Oca 1, 2011"; 
    df.parse(date); 
}