gpt4 book ai didi

java - 在java中用AEDT和AEST时区解析日期

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:15:25 26 4
gpt4 key购买 nike

我正在尝试解析一个格式字符串

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 设备上运行。如何将此字符串解析为日期?

最佳答案

使用 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[Australia/Sydney]

虽然我不确定为什么它选择悉尼而不是墨尔本。

关于java - 在java中用AEDT和AEST时区解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36473928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com