Browse Source

DateUtil.parse support iso8601

Looly 5 years ago
parent
commit
9b2fc8aecf

+ 2 - 0
hutool-core/src/main/java/cn/hutool/core/date/DateUtil.java

@@ -1943,6 +1943,8 @@ public class DateUtil extends CalendarUtil {
 			builder.append(' ');
 			String timePart = dateAndTime.get(1).replaceAll("[时分秒]", ":");
 			timePart = StrUtil.removeSuffix(timePart, ":");
+			//将ISO8601中的逗号替换为.
+			timePart = timePart.replace(',', '.');
 			builder.append(timePart);
 		}
 

+ 8 - 0
hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java

@@ -780,4 +780,12 @@ public class DateUtilTest {
 		dateTime = DateUtil.parse("2020-5-8 3:12:13");
 		Assert.assertEquals("2020-05-08 03:12:13", dateTime.toString());
 	}
+
+	@SuppressWarnings("ConstantConditions")
+	@Test
+	public void parseISO8601Test(){
+		String dt = "2020-06-03 12:32:12,333";
+		final DateTime parse = DateUtil.parse(dt);
+		Assert.assertEquals("2020-06-03 12:32:12", parse.toString());
+	}
 }