Browse Source

tbDate: tests comments12

pull/9338/head
nick 3 years ago
parent
commit
73f8a7f537
  1. 31
      common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbDate.java
  2. 33
      common/script/script-api/src/main/java/org/thingsboard/script/api/tbel/TbUtils.java

31
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<DateFormat> 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);

33
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;
}
}
}

Loading…
Cancel
Save