public static long getTimePartitionLowerBound(long time) {
    if (time < timePartitionLowerBoundWithoutOverflow) {
      return Long.MIN_VALUE;
    }
    if (originMayCauseOverflow) {
      return BigInteger.valueOf(getTimePartitionIdWithoutOverflow(time))
          .multiply(bigTimePartitionInterval)
          .add(bigTimePartitionOrigin)
          .longValue();
    } else {
      return getTimePartitionId(time) * timePartitionInterval + timePartitionOrigin;
    }
  }
Time range for dividing database, the time unit is the same with IoTDB's TimestampPrecision
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/TimePartitionUtils.java