ISO 8601 字符串到日期/时间对象在安卓
我有一个标准ISO 8601格式的字符串,其中包含从Web服务返回的日期/时间,如下所示:
String dtStart = "2010-10-15T09:27:37Z"
如何将其放入时间或日期等对象中?我最初想以不同的格式输出它,但稍后需要用它做其他事情(即可能以不同的格式使用)。
干杯
我有一个标准ISO 8601格式的字符串,其中包含从Web服务返回的日期/时间,如下所示:
String dtStart = "2010-10-15T09:27:37Z"
如何将其放入时间或日期等对象中?我最初想以不同的格式输出它,但稍后需要用它做其他事情(即可能以不同的格式使用)。
干杯
String dtStart = "2010-10-15T09:27:37Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
try {
Date date = format.parse(dtStart);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
这就是你正在寻找的。有关于这个问题的现有帖子。
这个问题在2010年被问到,当时是正确的,要么是Joda-Time,要么是你应该使用的工具。现在已经很久很久以前了。今天使用SimpleDateFormat
Instant iStart = Instant.parse(dtStart);
是的,就是这么简单。您的字符串采用 ISO 8601 格式,现代 Java 日期和时间 API 中的类在没有任何显式格式化程序的情况下解析 ISO 8601。 只是这些类之一。java.time
Instant
是的,在较旧和较新的Android设备上运行良好。它只需要至少Java 6。java.time
org.threeten.bp
java.time
java.time
java.time