英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论