mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
DateUtil.parse适配6位毫秒格式
This commit is contained in:
@@ -856,7 +856,8 @@ public class DateUtil extends CalendarUtil {
|
||||
final int patternLength = DatePattern.UTC_MS_PATTERN.length();
|
||||
// 格式类似:2018-09-13T05:34:31.999Z,-4表示减去4个单引号的长度
|
||||
// -4 ~ -6范围表示匹配毫秒1~3位的情况
|
||||
if (length <= patternLength - 4 && length >= patternLength - 6) {
|
||||
if (length <= patternLength && length >= patternLength - 6) {
|
||||
// issue#I7H34N,支持最多6位毫秒
|
||||
return parse(utcString, DatePattern.UTC_MS_FORMAT);
|
||||
}
|
||||
} else if (StrUtil.contains(utcString, '+')) {
|
||||
|
@@ -78,7 +78,7 @@ public class FileTypeUtil {
|
||||
/**
|
||||
* 根据文件流的头部信息获得文件类型<br>
|
||||
* 注意此方法会读取头部一些bytes,造成此流接下来读取时缺少部分bytes<br>
|
||||
* 因此如果想服用此流,流需支持{@link InputStream#reset()}方法。
|
||||
* 因此如果想复用此流,流需支持{@link InputStream#reset()}方法。
|
||||
* @param in {@link InputStream}
|
||||
* @param isExact 是否精确匹配,如果为false,使用前64个bytes匹配,如果为true,使用前8192bytes匹配
|
||||
* @return 类型,文件的扩展名,未找到为{@code null}
|
||||
@@ -93,7 +93,7 @@ public class FileTypeUtil {
|
||||
/**
|
||||
* 根据文件流的头部信息获得文件类型<br>
|
||||
* 注意此方法会读取头部64个bytes,造成此流接下来读取时缺少部分bytes<br>
|
||||
* 因此如果想服用此流,流需支持{@link InputStream#reset()}方法。
|
||||
* 因此如果想复用此流,流需支持{@link InputStream#reset()}方法。
|
||||
* @param in {@link InputStream}
|
||||
* @return 类型,文件的扩展名,未找到为{@code null}
|
||||
* @throws IORuntimeException 读取流引起的异常
|
||||
@@ -105,7 +105,7 @@ public class FileTypeUtil {
|
||||
/**
|
||||
* 根据文件流的头部信息获得文件类型
|
||||
* 注意此方法会读取头部64个bytes,造成此流接下来读取时缺少部分bytes<br>
|
||||
* 因此如果想服用此流,流需支持{@link InputStream#reset()}方法。
|
||||
* 因此如果想复用此流,流需支持{@link InputStream#reset()}方法。
|
||||
*
|
||||
* <pre>
|
||||
* 1、无法识别类型默认按照扩展名识别
|
||||
@@ -125,7 +125,7 @@ public class FileTypeUtil {
|
||||
/**
|
||||
* 根据文件流的头部信息获得文件类型
|
||||
* 注意此方法会读取头部一些bytes,造成此流接下来读取时缺少部分bytes<br>
|
||||
* 因此如果想服用此流,流需支持{@link InputStream#reset()}方法。
|
||||
* 因此如果想复用此流,流需支持{@link InputStream#reset()}方法。
|
||||
*
|
||||
* <pre>
|
||||
* 1、无法识别类型默认按照扩展名识别
|
||||
|
@@ -1148,4 +1148,11 @@ public class DateUtilTest {
|
||||
final Calendar c = DateUtil.calendar(date);
|
||||
Assert.assertEquals(DateUtil.date(c), date);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void issueI7H34NTest() {
|
||||
final DateTime parse = DateUtil.parse("2019-10-22T09:56:03.000123Z");
|
||||
Assert.assertNotNull(parse);
|
||||
Assert.assertEquals("2019-10-22 09:56:03", parse.toString());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user