在 Java 中,可以使用
java.time.Instant
类将 ISO 8601 格式的日期时间字符串转换为时间戳(Epoch Time)。
以下是一个将 ISO 8601 格式日期时间字符串转换为时间戳的示例代码:
import java.time.Instant;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String isoDateTimeString = "2023-02-20T14:30:00Z";
Instant instant = Instant.from(DateTimeFormatter.ISO_INSTANT.parse(isoDateTimeString));
long timestamp = instant.toEpochMilli();
System.out.println("ISO 8601 Date Time String: " + isoDateTimeString);
System.out.println("Timestamp (milliseconds): " + timestamp);
在上面的示例中,isoDateTimeString
变量包含 ISO 8601 格式的日期时间字符串。我们使用 java.time.format.DateTimeFormatter
类中的 ISO_INSTANT
格式器来解析字符串并返回 java.time.Instant
实例。接下来,我们调用 Instant
实例的 toEpochMilli()
方法来获取时间戳(单位为毫秒)。
如果您需要将时间戳转换回 ISO 8601 格式的日期时间字符串,可以使用 Instant
类的 toString()
方法,例如:
Instant instant = Instant.ofEpochMilli(1645389000000L);
String isoDateTimeString = instant.toString();
System.out.println("ISO 8601 Date Time String: " + isoDateTimeString);
在上面的示例中,instant
变量包含时间戳,我们使用 Instant
类的 toString()
方法将其转换为 ISO 8601 格式的日期时间字符串。