执行以下操作:
val zonedFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm z")
ZonedDateTime.from(zonedFormatter.parse("31.07.2020 14:15 GMT"))
Run Code Online (Sandbox Code Playgroud)
给我:
"displayDate": "2020-07-31T14:15:00Z[GMT]"
Run Code Online (Sandbox Code Playgroud)
我想要没有 [GMT] 的:
"displayDate": "2020-07-31T14:15:00Z"
Run Code Online (Sandbox Code Playgroud)
您可以使用DateTimeFormatter.ISO_OFFSET_DATE_TIME格式化解析的ZonedDateTime. 但是,如果您希望日期时间始终采用 UTC,我建议您将解析后的数据转换ZonedDateTime为Instant.
演示:
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
DateTimeFormatter dtfInput = DateTimeFormatter.ofPattern("dd.MM.uuuu HH:mm z", Locale.ENGLISH);
ZonedDateTime zdt = ZonedDateTime.from(dtfInput.parse("31.07.2020 14:15 GMT"));
System.out.println(zdt.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
System.out.println(zdt.toInstant());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
2020-07-31T14:15:00Z
2020-07-31T14:15:00Z
Run Code Online (Sandbox Code Playgroud)
从Trail: Date Time了解有关现代日期时间 API *的更多信息。检查此答案和此答案以了解如何将API 与 JDBC 结合使用。java.time
* 如果您正在从事 Android 项目,并且您的 Android API 级别仍然不符合 Java-8,请通过 desugaring 检查可用的 Java 8+ API。请注意,Android 8.0 Oreo 已提供对java.time.
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |