2012-11-19 93 views
1

我想转换Datetime日历,而将我面对java.text.ParseException:无法解析的日期: “2012年1月11日08:00:00”

java.text.ParseException: Unparseable date: "01/11/2012 08:00:00"

这里是我的示例代码:

Calendar cal = Calendar.getInstance(); 
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy H:mm:ss", new Locale("es", "ES")); 

cal.setTime(formatter.parse(Form.getRequestPortDate()+" "+.getRequestTimeDD()+":00")); 

注:Form.getRequestPortDate()+" "+Form.getRequestTimeDD()+":00")价值为01/11/2012 08:00:00

回答

2

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy H:mm:ss", new Locale("es", "ES"));

这意味着您将只能以dd-MMM-yyyy H:mm:ss格式解析日期。

如果您收到的格式的日期“2012年1月11日08:00:00”,那么你应该使用这个字符串您SimpleDateFormatter内:

"dd/MM/yyyy HH:mm:ss" 
+0

感谢。它的工作很好 – user1802047

+0

@ user1802047你总是欢迎:) – Abubakkar

1

更改日期模式dd/MM/yyyy HH:mm:ss

Calendar cal = Calendar.getInstance(); 
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", new Locale("es", "ES")); 
1

您的日期是 “01/11/2012 08:00:00”,而你正在尝试分析应该是格式的字符串

"dd-MMM-yyyy H:mm:ss 

变化new SimpleDateFormat("dd-MMM-yyyy H:mm:ss", new Locale("es", "ES"));

new SimpleDateFormat("dd/MMM/yyyy H:mm:ss", new Locale("es", "ES")); 
1

您的格式错误

这个日期:2012年1月11日08:00:00 格式应该是:dd/MM/yyyy HH:mm:ss

Calendar cal = Calendar.getInstance(); SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", new Locale("es", "ES")); 
如果要使用现有的格式

,该日期

01/SEP/2012 8:00:00 (dd-MMM-yyyy H:mm:ss) 
相关问题