将 ISO 8601 时间戳字符串转换为 Java 中的秒数。

huangapple go评论136阅读模式
英文:

Convert ISO 8601 timestamp string to epoch seconds in Java

问题

我正在收到一个 ISO 8601 日期时间格式的字符串:2020-11-03T15:23:24.388Z。在Java中将其转换为时代秒的最佳方法是什么?

英文:

I am receiving a string in ISO 8601 date-time format 2020-11-03T15:23:24.388Z. What is the best way to convert this into epoch seconds in Java?

答案1

得分: 6

使用现代日期时间 API,您可以按以下所示操作:

import java.time.Instant;

public class Main {
    public static void main(String[] args) {
        Instant instant = Instant.parse("2020-11-03T15:23:24.388Z");
        long seconds = instant.getEpochSecond();
        System.out.println(seconds);
    }
}

输出:

1604417004

如果您在 Android 项目中进行此操作,且您的 Android API 级别仍不符合 Java-8,可以查看通过 desugaring 可用的 Java 8+ API以及如何在 Android 项目中使用 ThreeTenABP

了解有关现代日期时间 API 的更多信息,请参阅**教程:日期时间**。

英文:

Using the modern date-time API, you can do it as shown below:

import java.time.Instant;

public class Main {
	public static void main(String[] args) {
		Instant instant = Instant.parse("2020-11-03T15:23:24.388Z");
		long seconds = instant.getEpochSecond();
		System.out.println(seconds);
	}
}

Output:

1604417004

If you are doing it for your Android project and your Android API level is still not compliant with Java-8, check Java 8+ APIs available through desugaring and How to use ThreeTenABP in Android Project.

Learn more about the modern date-time API at Trail: Date Time.

huangapple
  • 本文由 发表于 2020年10月4日 23:35:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/64196607.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定