我正在尝试将 utc 日期时间转换为本地日期时间,但小数部分有一些问题。我称 Web 服务返回一系列数据。其中一个数据是这种格式的 utc 日期时间,我必须使用这个库 org.threeten.bp,我不能使用其他库。
2020-06-22T18:28:57.957535800Z
要将utcFormat转换为日期,我发现这段代码可以正常工作
DateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = utcFormat.parse("2012-08-15T22:56:02.038Z");
DateFormat pstFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
pstFormat.setTimeZone(TimeZone.getTimeZone("ECT"));
System.out.println(pstFormat.format(date));
但从我的代码中它不能很好地工作,因为返回这个日期
2020-07-03T22:27:52.800
怎么看就不一样了。我做了一些测试,如果我在点后只留下 3 个小数,那部分代码就可以正常工作。看看这个例子:
2020-06-22T18:28:57.800Z
return the right date time from ECT zone
2020-06-22T20:28:57.800
我正在寻找一种方法来接收只有三位小数的 utc dateTime,或者通过删除多余的小数来更改 utc dateTime。对于最后一个案例,我不是如果它可以是一个好主意。