我正在尝试用格式"quot;迄今为止。
DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = sdf.parse(dateStr);
String = sdf.format(date);
dateStr的一个例子是";2020-04-14 16:34:40.0117372";。
我在试图解析字符串时遇到了一个错误,但我不知道为什么。
我得到的错误如下:
java.text.ParseException: Unparseable date: "2020-04-14 16:34:40.0117372"
为什么我不能分析这个日期?我该怎么做?
您正在使用"dd/MM/yyyy";对于日期格式,但您应该使用";yyyy-MM-dd";(顺序相反,用短划线代替斜线(
此外,我建议您使用现代java.time包,并执行以下操作:
String str = "2020-04-14 16:34:40.0117372";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSSS");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
编辑:有7位数字表示毫秒是正确的,第一位数字表示微秒,其余数字表示纳秒奇怪。通常您需要3位数字,因为1000毫秒是一秒钟。您可能有纳秒,这应该通过这个方法来处理。