From 004f90a5c9b1f86f54f7ca3a2cebcb9049aed11e Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 26 Nov 2024 20:13:29 +0800 Subject: [PATCH] add test --- .../cn/hutool/core/date/Issue3798Test.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 hutool-core/src/test/java/cn/hutool/core/date/Issue3798Test.java diff --git a/hutool-core/src/test/java/cn/hutool/core/date/Issue3798Test.java b/hutool-core/src/test/java/cn/hutool/core/date/Issue3798Test.java new file mode 100644 index 000000000..b041fc3da --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/date/Issue3798Test.java @@ -0,0 +1,22 @@ +package cn.hutool.core.date; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.TimeZone; + +public class Issue3798Test { + @Test + void parseTest() { + final String iso_datetime1 = "2000-01-01T12:00:00+08:00"; + final DateTime parse1 = DateUtil.parse(iso_datetime1); + Assertions.assertEquals(TimeZone.getTimeZone("GMT+08:00"), parse1.getTimeZone()); + Assertions.assertEquals("2000-01-01 12:00:00", parse1.toString()); + + // 伦敦时间(Greenwich Mean Time, GMT)和北京时间(China Standard Time, CST)之间的时差是8小时。北京时间比伦敦时间快8小时 + final String iso_datetime2 = "2000-01-01T12:00:00+00:00"; + final DateTime parse2 = DateUtil.parse(iso_datetime2); + Assertions.assertEquals(TimeZone.getTimeZone("GMT+00:00"), parse2.getTimeZone()); + Assertions.assertEquals("2000-01-01 20:00:00", parse2.toString(TimeZone.getTimeZone("GMT+08:00"))); + } +}