tbDate: add toZonedDateTimeString
This commit is contained in:
parent
aae995de5d
commit
6b8eae035e
@ -94,7 +94,10 @@ public class TbDate implements Serializable, Cloneable {
|
||||
}
|
||||
|
||||
public ZonedDateTime getZonedDateTime() {
|
||||
return instant.atZone(zoneIdUTC);
|
||||
return getZonedDateTime(zoneIdUTC);
|
||||
}
|
||||
public ZonedDateTime getZonedDateTime(ZoneId zoneId) {
|
||||
return instant.atZone(zoneId);
|
||||
}
|
||||
|
||||
public LocalDateTime getLocalDateTime() {
|
||||
@ -149,13 +152,20 @@ public class TbDate implements Serializable, Cloneable {
|
||||
public String toString(String localeStr, String optionsStr) {
|
||||
return toLocaleString(localeStr, optionsStr, (locale, options) -> DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.FULL).withLocale(locale));
|
||||
}
|
||||
public String toISOZonedDateTimeString() {
|
||||
public String toZonedDateTimeString() {
|
||||
return getZonedDateTime().toString();
|
||||
}
|
||||
public String toISOZonedDateTimeString(DateTimeFormatter formatter) {
|
||||
public String toZonedDateTimeString(DateTimeFormatter formatter) {
|
||||
return getZonedDateTime().format(formatter);
|
||||
}
|
||||
|
||||
public String toZonedDateTimeString(String zoneIdStr) {
|
||||
return getZonedDateTime(ZoneId.of(zoneIdStr)).toString();
|
||||
}
|
||||
public String toZonedDateTimeString(DateTimeFormatter formatter, String zoneIdStr) {
|
||||
return getZonedDateTime(ZoneId.of(zoneIdStr)).format(formatter);
|
||||
}
|
||||
|
||||
public String toLocaleDateString() {
|
||||
return toLocaleDateString(localeUTC.getLanguage());
|
||||
}
|
||||
|
||||
@ -30,7 +30,6 @@ import org.thingsboard.common.util.JacksonUtil;
|
||||
import java.time.DateTimeException;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@ -374,19 +373,34 @@ class TbDateTest {
|
||||
TbDate d1 = new TbDate(23, 9, 7, 8, 4, 5, "+04:00");
|
||||
TbDate d2 = new TbDate(23, 9, 7, 8, 4, 5, "-03:00");
|
||||
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toISOZonedDateTimeString());
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T04:04:05", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
|
||||
Assert.assertEquals("Thu, 7 Sep 2023 04:04:05 GMT", d1.toISOZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z", d1.toISOZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toZonedDateTimeString());
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z", d1.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z[UTC]", d1.toZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T04:04:05", d1.toZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
|
||||
Assert.assertEquals("Thu, 7 Sep 2023 04:04:05 GMT", d1.toZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T04:04:05Z", d1.toZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
|
||||
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toISOZonedDateTimeString());
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T11:04:05", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
|
||||
Assert.assertEquals("Thu, 7 Sep 2023 11:04:05 GMT", d2.toISOZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z", d2.toISOZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toZonedDateTimeString());
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z", d2.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z[UTC]", d2.toZonedDateTimeString(DateTimeFormatter.ISO_ZONED_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T11:04:05", d2.toZonedDateTimeString(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
|
||||
Assert.assertEquals("Thu, 7 Sep 2023 11:04:05 GMT", d2.toZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME));
|
||||
Assert.assertEquals("2023-09-07T11:04:05Z", d2.toZonedDateTimeString(DateTimeFormatter.ISO_INSTANT));
|
||||
}
|
||||
|
||||
@Test
|
||||
void TestZoneDateTimeFormatterToString () {
|
||||
TbDate d1 = new TbDate(23, 9, 7, 8, 4, 5, "-04:00");
|
||||
Assert.assertEquals("2023-09-07T12:04:05Z[UTC]", d1.toZonedDateTimeString());
|
||||
Assert.assertEquals("2023-09-07T12:04:05Z", d1.toZonedDateTimeString(DateTimeFormatter.ISO_INSTANT,"America/New_York"));
|
||||
Assert.assertEquals("2023-09-07T08:04:05-04:00", d1.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME,"America/New_York"));
|
||||
Assert.assertEquals("2023-09-07T08:04:05-04:00[America/New_York]", d1.toZonedDateTimeString("America/New_York"));
|
||||
Assert.assertEquals("Thu, 7 Sep 2023 08:04:05 -0400", d1.toZonedDateTimeString(DateTimeFormatter.RFC_1123_DATE_TIME,"America/New_York"));
|
||||
|
||||
Assert.assertEquals("2023-09-07T14:04:05+02:00[Europe/Berlin]", d1.toZonedDateTimeString("Europe/Berlin"));
|
||||
Assert.assertEquals("2023-09-07T14:04:05+02:00", d1.toZonedDateTimeString(DateTimeFormatter.ISO_OFFSET_DATE_TIME,"Europe/Berlin"));
|
||||
Assert.assertEquals("2023-09-08T02:04:05+14:00[Etc/GMT-14]", d1.toZonedDateTimeString("Etc/GMT-14"));
|
||||
Assert.assertEquals("2023-09-07T00:04:05-12:00[Etc/GMT+12]", d1.toZonedDateTimeString("Etc/GMT+12"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user