当我尝试将String转换为java.util.Date时,我遇到了问题。
我的日期格式如下: 2016年1月23日下午4:00:24 ,我想将该字符串转换为Date对象。所以,为了做到这一点,我使用 SimpleDateFormat ,根据javadoc,我使用的参数看起来不错: MMM dd yyyy aa。
但是当我运行我的代码时,我遇到了java.text.ParseException:Unparseable date:“2016年1月23日下午4:00:24”
可能是我的问题?
谢谢!
编辑:有问题的代码
String dateStr = "Jan 23 2016 4:00:24 PM";
SimpleDateFormat parserSDF = new SimpleDateFormat("MMM dd yyyy hh:mm:ss aa");
Date date = parserSDF.parse(dateStr);
答案 0 :(得分:0)
此代码对我来说运行良好,并产生输出 Sat Jan 23 16:00:24 EST 2016
String text = "Jan 23 2016 4:00:24 PM";
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy hh:mm:ss aa", Locale.US);
try {
System.out.println(sdf.parse(text));
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您的默认系统区域设置是什么?您可以使用Locale.getDefault()
方法调用进行检查。我已经尝试过您的代码,使用默认的en_US
语言环境可以正常使用。但我尝试使用另一个(我使用中文)并发现同样的错误。
尝试将SimpleDateFormat parserSDF = new SimpleDateFormat("MMM dd yyyy hh:mm:ss aa", Locale.US);
与明确定义的区域设置