From 73f8a7f537909e5d5d6912e61ee8792aa652ab49 Mon Sep 17 00:00:00 2001 From: nick Date: Mon, 2 Oct 2023 15:46:58 +0300 Subject: [PATCH] tbDate: tests comments12 --- .../thingsboard/script/api/tbel/TbDate.java | 31 ----------------- .../thingsboard/script/api/tbel/TbUtils.java | 33 +++++++++++++++++++ 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbDate.java b/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbDate.java index 64ab9a1c76..42c5a228cf 100644 --- a/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbDate.java +++ b/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbDate.java @@ -39,12 +39,6 @@ public class TbDate implements InstantSource { private static String patternDefault = "%s-%s-%sT%s:%s:%s.%d%s"; -// private static final DateTimeFormatter isoDateFormatter = DateTimeFormatter.ofPattern( -// "yyyy-MM-dd[[ ]['T']HH:mm[:ss[.SSS]][ ][XXX][Z][z][VV][O]]").withZone(ZoneId.systemDefault()); -// -// private static final ThreadLocal isoDateFormat = ThreadLocal.withInitial(() -> -// new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")); - public TbDate() { instant = Instant.now(); } @@ -183,14 +177,6 @@ public class TbDate implements InstantSource { return System.currentTimeMillis(); } -// public static long parse(String value, String format) { -// try { -// DateFormat dateFormat = new SimpleDateFormat(format); -// return dateFormat.parse(value).getTime(); -// } catch (Exception e) { -// return -1; -// } -// } public static long parseSecond() { return instant.getEpochSecond(); } @@ -199,23 +185,6 @@ public class TbDate implements InstantSource { return instant.toEpochMilli(); } -// public static long parse(String value) { -// try { -// TemporalAccessor accessor = isoDateFormatter.parseBest(value, -// ZonedDateTime::from, -// LocalDateTime::from, -// LocalDate::from); -// Instant instant = Instant.from(accessor); -// return Instant.EPOCH.until(instant, ChronoUnit.MILLIS); -// } catch (Exception e) { -// try { -// return Date.parse(value); -// } catch (IllegalArgumentException e2) { -// return -1; -// } -// } -// } - public static long UTC(int year, int month, int date, int hrs, int min, int sec) { return Date.UTC(year - 1900, month, date, hrs, min, sec); diff --git a/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbUtils.java b/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbUtils.java index bd14871fe2..1e71795f97 100644 --- a/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbUtils.java +++ b/common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbUtils.java @@ -32,6 +32,16 @@ import java.math.RoundingMode; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.charset.StandardCharsets; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalAccessor; import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; @@ -649,4 +659,27 @@ public class TbUtils { return true; } + public static long parse(String value, String format) { + try { + DateFormat dateFormat = new SimpleDateFormat(format); + return dateFormat.parse(value).getTime(); + } catch (Exception e) { + return -1; + } + } + public static long parse(String value) { + DateTimeFormatter isoDateFormatter = DateTimeFormatter.ofPattern( + "yyyy-MM-dd[[ ]['T']HH:mm[:ss[.SSS]][ ][XXX][Z][z][VV][O]]").withZone(ZoneId.systemDefault()); + try { + TemporalAccessor accessor = isoDateFormatter.parseBest(value, + ZonedDateTime::from, + LocalDateTime::from, + LocalDate::from); + Instant instant = Instant.from(accessor); + return Instant.EPOCH.until(instant, ChronoUnit.MILLIS); + } catch (Exception e) { + return -1; + } + } + }