小编ano*_*432的帖子

Java,将字符串 'yyyy-MM-dd'T'HH:mm:ss' 解析为 ZonedDateTime 而不更改时间

我有一个字符串“2018-07-24T01:30:27”。我想在不更改时间的情况下将其解析为带有 EST 时区的 ZonedDateTime。

我有代码...

String foo = "2018-07-24T01:30:27";
ZoneId zone = ZoneId.of("America/New_York");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
return simpleDateFormat.parse(foo).toInstant().atZone(zone);
Run Code Online (Sandbox Code Playgroud)

返回值是

2018-07-24T02:30:27-04:00[America/New_York]
Run Code Online (Sandbox Code Playgroud)

我也试过创建这个类,但它没有帮助

@Configuration
public class TimeZoneConfig {

    @PostConstruct
    public void init() {

        TimeZone.setDefault(TimeZone.getTimeZone("EST"));

        System.out.println("Date in UTC: " + new Date().toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我能得到一些建议吗?

java timezone simpledateformat spring-boot zoneddatetime

4
推荐指数
1
解决办法
991
查看次数