我正在尝试解析格式字符串
Sat Feb 01 15:00:19 AEDT 2014
进入日期对象。我的代码如下所示:
SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
try{
Date time = parserSDF.parse("Sat Feb 01 15:00:19 AEDT 2014");
}catch(Exception e){
e.printStackTrace();
}
但我收到“解析错误”。我无法更改日期的输入格式,也无法将时区设置为静态值,因为此代码将在 andorid 设备上运行。如何将此字符串解析为日期?
最佳答案
“AEDT”是一个 4 字母时区,不受支持。这会导致异常。 只有valid timezones可以解析。
您可以使用 (GMT+11) 代替 AEDT,如下所示:
SimpleDateFormat parserSDF = new SimpleDateFormat("E MMM dd HH:mm:ss yyyy");
parserSDF.setTimeZone(TimeZone.getTimeZone("GMT+11"));
try{
Date time = parserSDF.parse("Sat Feb 01 15:00:19 2014");
}catch(Exception e){
Toast.makeText(this, "exception: "+e.toString(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
关于java - java中用AEDT时区解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25484049/