在Java中使用AEDT和AEST时区解析日期
我正在尝试解析格式的字符串
Thu Apr 07 11:45:28 AEST 2016
放入日期对象。我的代码如下:
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设备上运行。如何将这个字符串解析为date?
回答:
使用java.time框架(JSR 310),您可以执行以下操作:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss zzz yyyy");ZonedDateTime zdt = ZonedDateTime.parse("Sat Feb 01 15:00:19 AEDT 2014", dtf);
System.out.println(zdt);
…打印:
2014-02-01T15:00:19 + 11:00 [澳大利亚/悉尼]
虽然我不确定为什么选择悉尼而不是墨尔本。
以上是 在Java中使用AEDT和AEST时区解析日期 的全部内容, 来源链接: utcz.com/qa/414473.html