📅  最后修改于: 2023-12-03 15:13:20.315000             🧑  作者: Mango
在Android开发过程中,解析日期和时间是一个常见的任务。Java为日期和时间提供了许多类和方法,本文将介绍一些常用的解析日期和时间的方法。
在 Android 中,时间戳是指自 1970 年 1 月 1 日以来经过的毫秒数。可以使用 java.util.Date
类的构造函数来将时间戳转换为日期和时间:
long timestamp = System.currentTimeMillis();
Date date = new Date(timestamp);
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.Date
或 java.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.Date
、java.time
和 java.text.SimpleDateFormat
等类来解析日期、时间和时区信息。希望本文能够为您解决解析时间相关功能方面的问题。