mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
!1367 新增 yyyy-MM-dd'T'HH:mmXXX 格式支持
Merge pull request !1367 from 盘古给你一斧/v5-dev
This commit is contained in:
@@ -285,6 +285,15 @@ public class DatePattern {
|
|||||||
*/
|
*/
|
||||||
public static final FastDateFormat UTC_WITH_XXX_OFFSET_FORMAT = FastDateFormat.getInstance(UTC_WITH_XXX_OFFSET_PATTERN);
|
public static final FastDateFormat UTC_WITH_XXX_OFFSET_FORMAT = FastDateFormat.getInstance(UTC_WITH_XXX_OFFSET_PATTERN);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UTC时间:yyyy-MM-dd'T'HH:mmXXX
|
||||||
|
*/
|
||||||
|
public static final String UTC_SIMPLE_MINUTE_WITH_XXX_OFFSET_PATTERN = "yyyy-MM-dd'T'HH:mmXXX";
|
||||||
|
/**
|
||||||
|
* UTC时间{@link FastDateFormat}:yyyy-MM-dd'T'HH:mmXXX
|
||||||
|
*/
|
||||||
|
public static final FastDateFormat UTC_SIMPLE_MINUTE_WITH_XXX_OFFSET_FORMAT = FastDateFormat.getInstance(UTC_SIMPLE_MINUTE_WITH_XXX_OFFSET_PATTERN);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UTC时间:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
|
* UTC时间:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
|
||||||
*/
|
*/
|
||||||
|
@@ -901,6 +901,9 @@ public class DateUtil extends CalendarUtil {
|
|||||||
// 带毫秒,格式类似:2018-09-13T05:34:31.999+08:00
|
// 带毫秒,格式类似:2018-09-13T05:34:31.999+08:00
|
||||||
iso8601String = normalizeMillSeconds(iso8601String, ".", "+");
|
iso8601String = normalizeMillSeconds(iso8601String, ".", "+");
|
||||||
return parse(iso8601String, DatePattern.UTC_MS_WITH_XXX_OFFSET_FORMAT);
|
return parse(iso8601String, DatePattern.UTC_MS_WITH_XXX_OFFSET_FORMAT);
|
||||||
|
} else if (iso8601String.length() == 22 && StrUtil.count(iso8601String, ':') == 2) {
|
||||||
|
// 精确到分钟,格式类似:2025-07-28T20:00+08:00
|
||||||
|
return parse(iso8601String, DatePattern.UTC_SIMPLE_MINUTE_WITH_XXX_OFFSET_FORMAT);
|
||||||
} else {
|
} else {
|
||||||
// 格式类似:2018-09-13T05:34:31+08:00
|
// 格式类似:2018-09-13T05:34:31+08:00
|
||||||
return parse(iso8601String, DatePattern.UTC_WITH_XXX_OFFSET_FORMAT);
|
return parse(iso8601String, DatePattern.UTC_WITH_XXX_OFFSET_FORMAT);
|
||||||
|
@@ -667,6 +667,12 @@ public class DateUtilTest {
|
|||||||
dateStr = dt.toString(simpleDateFormat);
|
dateStr = dt.toString(simpleDateFormat);
|
||||||
assertEquals("2018-09-13 13:34:39.999", dateStr);
|
assertEquals("2018-09-13 13:34:39.999", dateStr);
|
||||||
|
|
||||||
|
dateStr1 = "2025-07-28T20:00+08:00";
|
||||||
|
dt = DateUtil.parse(dateStr1);
|
||||||
|
assert dt != null;
|
||||||
|
dateStr = dt.toString();
|
||||||
|
assertEquals("2025-07-28 20:00:00", dateStr);
|
||||||
|
|
||||||
// 使用UTC时区
|
// 使用UTC时区
|
||||||
dateStr1 = "2018-09-13T13:34:39.99";
|
dateStr1 = "2018-09-13T13:34:39.99";
|
||||||
dt = DateUtil.parse(dateStr1);
|
dt = DateUtil.parse(dateStr1);
|
||||||
|
Reference in New Issue
Block a user