Java SimpleDataFormat解析
正在尝试按如下方式分析日期:Java SimpleDataFormat解析,java,android,parsing,simpledateformat,Java,Android,Parsing,Simpledateformat,正在尝试按如下方式分析日期: String startDate = "Tue May 15 00:00:01 MSK 2012"; SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy"); Date date = (Date) parser .parse(startDate ); String formattedDate = parser .format(date ); 我得到了这个错误: 08
String startDate = "Tue May 15 00:00:01 MSK 2012";
SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
Date date = (Date) parser .parse(startDate );
String formattedDate = parser .format(date );
我得到了这个错误:
08-15 11:18:22.005:W/System.err(1012):java.text.ParseException:
不可受理日期:“2012年5月15日星期二00:00:01 MSK”08-15 11:18:22.045:
W/系统错误(1012):在
java.text.DateFormat.parse(DateFormat.java:626)
如何解决此问题?
SimpleDataFormat
默认情况下使用默认区域设置:给定代码在为英语配置的系统上运行时可以工作,在其他地方失败。您可以在创建解析器时将区域设置设置为已知区域设置,例如:
String startDate = "Tue May 15 00:00:01 MSK 2012";
SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) parser .parse(startDate );
String formattedDate = parser .format(date );
我用这个SimpleDataFormat格式=新的SimpleDataFormat(“yyyy-MM-dd HH:MM:ss.SSS”)来解决我的问题;