我在使用简单的日期格式API解析以下日期时获得解析器异常。
String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00";
java.text.SimpleDateFormat dateformate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
effDate = dateformate.parse(inputTimeStamp);
请帮我解决这个问题。
答案 0 :(得分:2)
更改
java.text.SimpleDateFormat dateformate=
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
到
java.text.SimpleDateFormat dateformate=
new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
你的inputTimeStamp
中有斜杠(/)答案 1 :(得分:2)
因为您要解析的格式不同,所以您已将其描述为SimpleDateFormat
。如果effDate
类型为String
并且应保留格式化日期,则以下代码可能会解决此问题,但GMT
和-08:00
之间不应有空格。
String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00";
SimpleDateFormat inputDateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss - z");
SimpleDateFormat dateformate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
effDate = dateformate.format(inputDateFormat.parse(inputTimeStamp));
我强烈推荐joda time,特别是当您想要对日期进行计算时。
String inputTimeStamp = "2012/07/19 09:49:00 - GMT -08:00";
DateTimeFormatter inputDateformat = DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss - z Z");
DateTimeFormatter dateformate = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
effDate = dateformate.print(inputDateFormat.parseDateTime(inputTimeStamp));
答案 2 :(得分:0)
模式为:yyyy/MM/dd HH:mm:ss - z
其中z表示一般时区。 SimpleDateFormat
答案 3 :(得分:0)