📜  android java 解析日期时间 - Java (1)

📅  最后修改于: 2023-12-03 15:13:20.315000             🧑  作者: Mango

Android Java 解析日期时间 - Java

在Android开发过程中,解析日期和时间是一个常见的任务。Java为日期和时间提供了许多类和方法,本文将介绍一些常用的解析日期和时间的方法。

解析时间戳

在 Android 中,时间戳是指自 1970 年 1 月 1 日以来经过的毫秒数。可以使用 java.util.Date 类的构造函数来将时间戳转换为日期和时间:

long timestamp = System.currentTimeMillis();
Date date = new Date(timestamp);
解析 ISO 8601 时间格式

ISO 8601 是一种日期和时间表示法,它使用 ISO 格式来表示日期、时间和时区信息。在 Android 中,可以使用 java.time 包中的 OffsetDateTime 类来解析 ISO 8601 格式的时间:

String isoDateTimeString = "2022-04-18T09:52:34+08:00";
OffsetDateTime dateTime = OffsetDateTime.parse(isoDateTimeString);
解析字符串日期

在Android中,需要使用格式化字符串将日期字符串转换为 java.util.Datejava.time.LocalDateTime 类型。可以使用 java.text.SimpleDateFormat 类来解析日期字符串:

String dateString = "2022-04-18";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse("2022-04-18");

可以使用另一个简单DateFormat来指定另一种格式:

String dateString = "2022-04-18 14:25:30";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse(dateString);
解析日期时间时区信息

在 Android 中,时区是紧密集成的。可以使用 java.time 包中的 ZonedDateTime 类来解析具有时区信息的日期和时间:

String dateTimeString = "2022-04-18T09:52:34-07:00[America/Los_Angeles]";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX[VV]");
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateTimeString, formatter);
结论

Java提供了许多类和方法来解析日期和时间。在 Android 中,可以使用 java.util.Datejava.timejava.text.SimpleDateFormat 等类来解析日期、时间和时区信息。希望本文能够为您解决解析时间相关功能方面的问题。