2019-06-17T20:27:23.706000000Z
这个日期的格式是什么?
我需要这种日期格式,并且需要解析和将其转换为 Java Date。我尝试了以下代码:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
但是,它给我错误的结果。
2019-06-17T20:27:23.706000000Z
这个日期的格式是什么?
我需要这种日期格式,并且需要解析和将其转换为 Java Date。SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
但是,它给我错误的结果。
试试这个:
import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.DateFormat;
import java.util.TimeZone;
public class Main
{
public static void main(String[] args){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
try{
Date date = sdf.parse("2019-06-17T20:27:23.706Z");
System.out.println(date);
}
catch(Exception pe){
System.out.println(pe);
}
}
}
输出:
Mon Jun 17 20:27:23 UTC 2019
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'");
Instant
(来自java.time
包)。最初的回答。String value = "2019-06-17T20:27:23.706000000Z";
Instant instant = Instant.parse(value);
Date date = Date.from(instant);
SimpleDateFormat
。那个类非常麻烦且已经过时了。您的格式是ISO 8601。请使用来自java.time,现代Java日期和时间API的Instant
或OffsetDateTime
。每个都可以在没有任何显式格式化程序的情况下解析您的字符串。 - Ole V.V.