You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/10/13 09:43:22 UTC

[iotdb] branch master updated: Rename DatetimeUtils to DateTimeUtils (#7582)

This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new dff72efc66 Rename DatetimeUtils to DateTimeUtils (#7582)
dff72efc66 is described below

commit dff72efc6613aa883d342c2ce0edc67e5a5ed14c
Author: Alan Choo <43...@users.noreply.github.com>
AuthorDate: Thu Oct 13 17:43:16 2022 +0800

    Rename DatetimeUtils to DateTimeUtils (#7582)
---
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   4 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   8 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |   5 -
 .../iotdb/db/engine/cq/ContinuousQueryService.java |  10 +-
 .../db/engine/querycontext/QueryDataSource.java    |   6 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  22 ++--
 .../db/engine/storagegroup/TsFileResource.java     |   4 +-
 .../timerangeiterator/AggrWindowIterator.java      |  22 ++--
 .../TimeRangeIteratorFactory.java                  |   2 +-
 .../execution/config/sys/sync/ShowPipeTask.java    |   4 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  24 ++---
 .../protocol/influxdb/input/InfluxLineParser.java  |   4 +-
 .../protocol/influxdb/sql/InfluxDBSqlVisitor.java  |   8 +-
 .../db/qp/physical/crud/GroupByTimeFillPlan.java   |   6 +-
 .../qp/physical/sys/CreateContinuousQueryPlan.java |   4 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  32 +++---
 .../{DatetimeUtils.java => DateTimeUtils.java}     |   6 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   2 +-
 .../apache/iotdb/db/query/executor/fill/IFill.java |   2 +-
 .../iotdb/db/query/executor/fill/LinearFill.java   |   6 +-
 .../iotdb/db/query/executor/fill/PreviousFill.java |   4 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java |  12 +--
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |   6 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   6 +-
 .../db/tools/watermark/WatermarkDetector.java      |   4 +-
 .../timerangeiterator/AggrWindowIterator.java      |  18 ++--
 .../TimeRangeIteratorFactory.java                  |   2 +-
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java | 116 ++++++++++-----------
 28 files changed, 172 insertions(+), 177 deletions(-)

diff --git a/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java b/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java
index aafcf67893..cc38a2352b 100644
--- a/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java
+++ b/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java
@@ -22,7 +22,7 @@ package org.apache.iotdb.tool;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.utils.PathUtils;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.exception.ArgsErrorException;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
@@ -958,7 +958,7 @@ public class ImportCsv extends AbstractCsvTool {
     try {
       timestamp = Long.parseLong(str);
     } catch (NumberFormatException e) {
-      timestamp = DatetimeUtils.convertDatetimeStrToLong(str, zoneId, timestampPrecision);
+      timestamp = DateTimeUtils.convertDatetimeStrToLong(str, zoneId, timestampPrecision);
     }
     return timestamp;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 6be34e457d..4509cb44a3 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -36,7 +36,7 @@ import org.apache.iotdb.db.engine.compaction.constant.InnerUnseqCompactionPerfor
 import org.apache.iotdb.db.engine.compaction.constant.InnerUnsequenceCompactionSelector;
 import org.apache.iotdb.db.exception.BadNodeUrlFormatException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.rescon.SystemInfo;
 import org.apache.iotdb.db.service.metrics.MetricService;
 import org.apache.iotdb.db.utils.datastructure.TVListSortAlgorithm;
@@ -1005,7 +1005,7 @@ public class IoTDBDescriptor {
     loadAuthorCache(properties);
 
     conf.setTimePartitionIntervalForStorage(
-        DatetimeUtils.convertMilliTimeWithPrecision(conf.getTimePartitionIntervalForStorage()));
+        DateTimeUtils.convertMilliTimeWithPrecision(conf.getTimePartitionIntervalForStorage()));
   }
 
   private void loadAuthorCache(Properties properties) {
@@ -1820,7 +1820,7 @@ public class IoTDBDescriptor {
     }
 
     conf.setContinuousQueryMinimumEveryInterval(
-        DatetimeUtils.convertDurationStrToLong(
+        DateTimeUtils.convertDurationStrToLong(
             properties.getProperty("continuous_query_minimum_every_interval", "1s"),
             conf.getTimestampPrecision()));
 
@@ -1918,7 +1918,7 @@ public class IoTDBDescriptor {
     conf.setSeriesPartitionExecutorClass(globalConfig.getSeriesPartitionExecutorClass());
     conf.setSeriesPartitionSlotNum(globalConfig.getSeriesPartitionSlotNum());
     conf.setTimePartitionIntervalForRouting(
-        DatetimeUtils.convertMilliTimeWithPrecision(globalConfig.timePartitionInterval));
+        DateTimeUtils.convertMilliTimeWithPrecision(globalConfig.timePartitionInterval));
     conf.setReadConsistencyLevel(globalConfig.getReadConsistencyLevel());
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java
index e978f5091e..24529820c0 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java
@@ -155,11 +155,6 @@ public class StorageEngineV2 implements IService {
     return timePartitionIntervalForStorage;
   }
 
-  @TestOnly
-  public static void setTimePartitionIntervalForStorage(long timePartitionIntervalForStorage) {
-    StorageEngineV2.timePartitionIntervalForStorage = timePartitionIntervalForStorage;
-  }
-
   public static long getTimePartition(long time) {
     if (timePartitionIntervalForStorage == -1) {
       initTimePartition();
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cq/ContinuousQueryService.java b/server/src/main/java/org/apache/iotdb/db/engine/cq/ContinuousQueryService.java
index e7f2e7275c..2c0cc52977 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/cq/ContinuousQueryService.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/cq/ContinuousQueryService.java
@@ -31,7 +31,7 @@ import org.apache.iotdb.db.exception.ContinuousQueryException;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.sys.CreateContinuousQueryPlan;
 import org.apache.iotdb.db.qp.physical.sys.DropContinuousQueryPlan;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.dataset.ShowContinuousQueriesResult;
 
 import org.slf4j.Logger;
@@ -50,7 +50,7 @@ public class ContinuousQueryService implements IService {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(ContinuousQueryService.class);
 
-  private static final long SYSTEM_STARTUP_TIME = DatetimeUtils.currentTime();
+  private static final long SYSTEM_STARTUP_TIME = DateTimeUtils.currentTime();
 
   private static final ContinuousQueryTaskPoolManager TASK_POOL_MANAGER =
       ContinuousQueryTaskPoolManager.getInstance();
@@ -132,7 +132,7 @@ public class ContinuousQueryService implements IService {
           this::checkAndSubmitTasks,
           0,
           TASK_SUBMIT_CHECK_INTERVAL,
-          DatetimeUtils.timestampPrecisionStringToTimeUnit(
+          DateTimeUtils.timestampPrecisionStringToTimeUnit(
               IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision()));
 
       LOGGER.info("Continuous query service started.");
@@ -159,7 +159,7 @@ public class ContinuousQueryService implements IService {
   }
 
   private void checkAndSubmitTasks() {
-    long currentTimestamp = DatetimeUtils.currentTime();
+    long currentTimestamp = DateTimeUtils.currentTime();
     for (CreateContinuousQueryPlan plan : continuousQueryPlans.values()) {
       long nextExecutionTimestamp = nextExecutionTimestamps.get(plan.getContinuousQueryName());
       while (currentTimestamp >= nextExecutionTimestamp) {
@@ -244,7 +244,7 @@ public class ContinuousQueryService implements IService {
     continuousQueryPlans.put(plan.getContinuousQueryName(), plan);
     nextExecutionTimestamps.put(
         plan.getContinuousQueryName(),
-        calculateNextExecutionTimestamp(plan, DatetimeUtils.currentTime()));
+        calculateNextExecutionTimestamp(plan, DateTimeUtils.currentTime()));
   }
 
   @TestOnly
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/querycontext/QueryDataSource.java b/server/src/main/java/org/apache/iotdb/db/engine/querycontext/QueryDataSource.java
index 64ffa01198..587baee1a7 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/querycontext/QueryDataSource.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/querycontext/QueryDataSource.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.engine.querycontext;
 
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.tsfile.read.filter.TimeFilter;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
@@ -78,9 +78,9 @@ public class QueryDataSource {
   public Filter updateFilterUsingTTL(Filter filter) {
     if (dataTTL != Long.MAX_VALUE) {
       if (filter != null) {
-        filter = new AndFilter(filter, TimeFilter.gtEq(DatetimeUtils.currentTime() - dataTTL));
+        filter = new AndFilter(filter, TimeFilter.gtEq(DateTimeUtils.currentTime() - dataTTL));
       } else {
-        filter = TimeFilter.gtEq(DatetimeUtils.currentTime() - dataTTL);
+        filter = TimeFilter.gtEq(DateTimeUtils.currentTime() - dataTTL);
       }
     }
     return filter;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index 4851fd097e..c213341708 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -80,7 +80,7 @@ import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertRowsOfOneDevicePlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.control.FileReaderManager;
 import org.apache.iotdb.db.query.control.QueryFileManager;
@@ -854,7 +854,7 @@ public class DataRegion {
       throws WriteProcessException, TriggerExecutionException {
     // reject insertions that are out of ttl
     if (!isAlive(insertRowPlan.getTime())) {
-      throw new OutOfTTLException(insertRowPlan.getTime(), (DatetimeUtils.currentTime() - dataTTL));
+      throw new OutOfTTLException(insertRowPlan.getTime(), (DateTimeUtils.currentTime() - dataTTL));
     }
     writeLock("InsertRow");
     try {
@@ -897,7 +897,7 @@ public class DataRegion {
       throws WriteProcessException, TriggerExecutionException {
     // reject insertions that are out of ttl
     if (!isAlive(insertRowNode.getTime())) {
-      throw new OutOfTTLException(insertRowNode.getTime(), (DatetimeUtils.currentTime() - dataTTL));
+      throw new OutOfTTLException(insertRowNode.getTime(), (DateTimeUtils.currentTime() - dataTTL));
     }
     if (enableMemControl) {
       StorageEngineV2.blockInsertionIfReject(null);
@@ -1091,7 +1091,7 @@ public class DataRegion {
       if (loc == insertTabletNode.getRowCount()) {
         throw new OutOfTTLException(
             insertTabletNode.getTimes()[insertTabletNode.getTimes().length - 1],
-            (DatetimeUtils.currentTime() - dataTTL));
+            (DateTimeUtils.currentTime() - dataTTL));
       }
 
       //      TODO(Trigger)// fire trigger before insertion
@@ -1157,7 +1157,7 @@ public class DataRegion {
    * @return whether the given time falls in ttl
    */
   private boolean isAlive(long time) {
-    return dataTTL == Long.MAX_VALUE || (DatetimeUtils.currentTime() - time) <= dataTTL;
+    return dataTTL == Long.MAX_VALUE || (DateTimeUtils.currentTime() - time) <= dataTTL;
   }
 
   /**
@@ -1748,7 +1748,7 @@ public class DataRegion {
       logger.debug("{}: TTL not set, ignore the check", storageGroupName + "-" + dataRegionId);
       return;
     }
-    long ttlLowerBound = DatetimeUtils.currentTime() - dataTTL;
+    long ttlLowerBound = DateTimeUtils.currentTime() - dataTTL;
     logger.debug(
         "{}: TTL removing files before {}",
         storageGroupName + "-" + dataRegionId,
@@ -2040,7 +2040,7 @@ public class DataRegion {
     List<TsFileResource> tsfileResourcesForQuery = new ArrayList<>();
 
     long timeLowerBound =
-        dataTTL != Long.MAX_VALUE ? DatetimeUtils.currentTime() - dataTTL : Long.MIN_VALUE;
+        dataTTL != Long.MAX_VALUE ? DateTimeUtils.currentTime() - dataTTL : Long.MIN_VALUE;
     context.setQueryTimeLowerBound(timeLowerBound);
 
     // for upgrade files and old files must be closed
@@ -3298,7 +3298,7 @@ public class DataRegion {
 
   public void setDataTTLWithTimePrecisionCheck(long dataTTL) {
     if (dataTTL != Long.MAX_VALUE) {
-      dataTTL = DatetimeUtils.convertMilliTimeWithPrecision(dataTTL);
+      dataTTL = DateTimeUtils.convertMilliTimeWithPrecision(dataTTL);
     }
     this.dataTTL = dataTTL;
   }
@@ -3551,9 +3551,9 @@ public class DataRegion {
                       TSStatusCode.OUT_OF_TTL_ERROR.getStatusCode(),
                       String.format(
                           "Insertion time [%s] is less than ttl time bound [%s]",
-                          DatetimeUtils.convertMillsecondToZonedDateTime(insertRowNode.getTime()),
-                          DatetimeUtils.convertMillsecondToZonedDateTime(
-                              DatetimeUtils.currentTime() - dataTTL))));
+                          DateTimeUtils.convertMillsecondToZonedDateTime(insertRowNode.getTime()),
+                          DateTimeUtils.convertMillsecondToZonedDateTime(
+                              DateTimeUtils.currentTime() - dataTTL))));
           continue;
         }
         // init map
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
index 75a296c7db..ef039eaea9 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
@@ -35,7 +35,7 @@ import org.apache.iotdb.db.engine.storagegroup.timeindex.V012FileTimeIndex;
 import org.apache.iotdb.db.engine.upgrade.UpgradeTask;
 import org.apache.iotdb.db.exception.PartitionViolationException;
 import org.apache.iotdb.db.metadata.utils.ResourceByPathUtils;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.filter.TsFileFilter;
 import org.apache.iotdb.db.service.UpgradeSevice;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
@@ -731,7 +731,7 @@ public class TsFileResource {
 
   /** @return whether the given time falls in ttl */
   private boolean isAlive(long time, long dataTTL) {
-    return dataTTL == Long.MAX_VALUE || (DatetimeUtils.currentTime() - time) <= dataTTL;
+    return dataTTL == Long.MAX_VALUE || (DateTimeUtils.currentTime() - time) <= dataTTL;
   }
 
   public void setProcessor(TsFileProcessor processor) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/AggrWindowIterator.java b/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/AggrWindowIterator.java
index 50f50e4175..e66ca4c528 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/AggrWindowIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/AggrWindowIterator.java
@@ -19,10 +19,10 @@
 
 package org.apache.iotdb.db.mpp.aggregation.timerangeiterator;
 
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.tsfile.read.common.TimeRange;
 
-import static org.apache.iotdb.db.qp.utils.DatetimeUtils.MS_TO_MONTH;
+import static org.apache.iotdb.db.qp.utils.DateTimeUtils.MS_TO_MONTH;
 
 /**
  * This class iteratively generates aggregated time windows.
@@ -78,7 +78,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     if (isIntervalByMonth) {
       // calculate interval length by natural month based on startTime
       // ie. startTIme = 1/31, interval = 1mo, curEndTime will be set to 2/29
-      retEndTime = Math.min(DatetimeUtils.calcIntervalByMonth(startTime, interval), endTime);
+      retEndTime = Math.min(DateTimeUtils.calcIntervalByMonth(startTime, interval), endTime);
     } else {
       retEndTime = Math.min(startTime + interval, endTime);
     }
@@ -93,10 +93,10 @@ public class AggrWindowIterator implements ITimeRangeIterator {
 
     if (isSlidingStepByMonth) {
       intervalNum = (long) Math.ceil(queryRange / (double) (slidingStep * MS_TO_MONTH));
-      retStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
+      retStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
       while (retStartTime >= endTime) {
         intervalNum -= 1;
-        retStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
+        retStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
       }
     } else {
       intervalNum = (long) Math.ceil(queryRange / (double) slidingStep);
@@ -106,7 +106,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     if (isIntervalByMonth) {
       // calculate interval length by natural month based on curStartTime
       // ie. startTIme = 1/31, interval = 1mo, curEndTime will be set to 2/29
-      retEndTime = Math.min(DatetimeUtils.calcIntervalByMonth(retStartTime, interval), endTime);
+      retEndTime = Math.min(DateTimeUtils.calcIntervalByMonth(retStartTime, interval), endTime);
     } else {
       retEndTime = Math.min(retStartTime + interval, endTime);
     }
@@ -128,7 +128,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     long curStartTime = curTimeRange.getMin();
     if (isAscending) {
       if (isSlidingStepByMonth) {
-        retStartTime = DatetimeUtils.calcIntervalByMonth(curStartTime, (int) (slidingStep));
+        retStartTime = DateTimeUtils.calcIntervalByMonth(curStartTime, (int) (slidingStep));
       } else {
         retStartTime = curStartTime + slidingStep;
       }
@@ -138,7 +138,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
       }
     } else {
       if (isSlidingStepByMonth) {
-        retStartTime = DatetimeUtils.calcIntervalByMonth(curStartTime, (int) (-slidingStep));
+        retStartTime = DateTimeUtils.calcIntervalByMonth(curStartTime, (int) (-slidingStep));
       } else {
         retStartTime = curStartTime - slidingStep;
       }
@@ -148,7 +148,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     }
 
     if (isIntervalByMonth) {
-      retEndTime = DatetimeUtils.calcIntervalByMonth(retStartTime, (int) (interval));
+      retEndTime = DateTimeUtils.calcIntervalByMonth(retStartTime, (int) (interval));
     } else {
       retEndTime = retStartTime + interval;
     }
@@ -184,10 +184,10 @@ public class AggrWindowIterator implements ITimeRangeIterator {
 
     if (isSlidingStepByMonth) {
       intervalNum = (long) Math.ceil(queryRange / (double) (slidingStep * MS_TO_MONTH));
-      long retStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
+      long retStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
       while (retStartTime > endTime) {
         intervalNum -= 1;
-        retStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
+        retStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
       }
     } else {
       intervalNum = (long) Math.ceil(queryRange / (double) slidingStep);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/TimeRangeIteratorFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/TimeRangeIteratorFactory.java
index 5351eb66ad..a86a513936 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/TimeRangeIteratorFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/aggregation/timerangeiterator/TimeRangeIteratorFactory.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.mpp.aggregation.timerangeiterator;
 
-import static org.apache.iotdb.db.qp.utils.DatetimeUtils.MS_TO_MONTH;
+import static org.apache.iotdb.db.qp.utils.DateTimeUtils.MS_TO_MONTH;
 
 public class TimeRangeIteratorFactory {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/sync/ShowPipeTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/sync/ShowPipeTask.java
index 5ecb7866c8..71da39ac85 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/sync/ShowPipeTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/sync/ShowPipeTask.java
@@ -28,7 +28,7 @@ import org.apache.iotdb.db.mpp.plan.execution.config.ConfigTaskResult;
 import org.apache.iotdb.db.mpp.plan.execution.config.IConfigTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.executor.IConfigTaskExecutor;
 import org.apache.iotdb.db.mpp.plan.statement.sys.sync.ShowPipeStatement;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
@@ -65,7 +65,7 @@ public class ShowPipeTask implements IConfigTask {
       builder.getTimeColumnBuilder().writeLong(0L);
       builder
           .getColumnBuilder(0)
-          .writeBinary(new Binary(DatetimeUtils.convertLongToDate(tPipeInfo.getCreateTime())));
+          .writeBinary(new Binary(DateTimeUtils.convertLongToDate(tPipeInfo.getCreateTime())));
       builder.getColumnBuilder(1).writeBinary(new Binary(tPipeInfo.getPipeName()));
       builder.getColumnBuilder(2).writeBinary(new Binary(tPipeInfo.getRole()));
       builder.getColumnBuilder(3).writeBinary(new Binary(tPipeInfo.getRemote()));
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index bd0925acaf..e93ed56878 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@ -157,7 +157,7 @@ import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.IdentifierContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.ShowFunctionsContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.UriContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParserBaseVisitor;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.trigger.api.enums.TriggerEvent;
 import org.apache.iotdb.trigger.api.enums.TriggerType;
 import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
@@ -1033,7 +1033,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   /** parse time range (startTime and endTime) in group by query. */
   private void parseTimeRange(
       IoTDBSqlParser.TimeRangeContext timeRange, GroupByTimeComponent groupByClauseComponent) {
-    long currentTime = DatetimeUtils.currentTime();
+    long currentTime = DateTimeUtils.currentTime();
     long startTime = parseTimeValue(timeRange.timeValue(0), currentTime);
     long endTime = parseTimeValue(timeRange.timeValue(1), currentTime);
     groupByClauseComponent.setStartTime(startTime);
@@ -1058,7 +1058,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
         groupByTimeComponent.setSlidingStepByMonth(true);
       }
     }
-    return DatetimeUtils.convertDurationStrToLong(duration);
+    return DateTimeUtils.convertDurationStrToLong(duration);
   }
 
   // Group By Level Clause
@@ -1442,10 +1442,10 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
             throw new SemanticException("need timestamps when insert multi rows");
           }
           valueList.add(insertMultiValues.get(i).timeValue().getText());
-          timestamp = DatetimeUtils.currentTime();
+          timestamp = DateTimeUtils.currentTime();
         } else {
           timestamp =
-              parseTimeValue(insertMultiValues.get(i).timeValue(), DatetimeUtils.currentTime());
+              parseTimeValue(insertMultiValues.get(i).timeValue(), DateTimeUtils.currentTime());
         }
       } else {
         if (!isTimeDefault) {
@@ -1639,10 +1639,10 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
       throw new SemanticException("input timestamp cannot be empty");
     }
     if (timestampStr.equalsIgnoreCase(SQLConstant.NOW_FUNC)) {
-      return DatetimeUtils.currentTime();
+      return DateTimeUtils.currentTime();
     }
     try {
-      return DatetimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
+      return DateTimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
     } catch (Exception e) {
       throw new SQLParserException(
           String.format(
@@ -1661,7 +1661,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
       return currentTime;
     }
     try {
-      return DatetimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
+      return DateTimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
     } catch (Exception e) {
       throw new SQLParserException(
           String.format(
@@ -2371,9 +2371,9 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     time = parseDateFormat(ctx.getChild(0).getText());
     for (int i = 1; i < ctx.getChildCount(); i = i + 2) {
       if ("+".equals(ctx.getChild(i).getText())) {
-        time += DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time += DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       } else {
-        time -= DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time -= DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       }
     }
     return time;
@@ -2384,9 +2384,9 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     time = parseDateFormat(ctx.getChild(0).getText(), currentTime);
     for (int i = 1; i < ctx.getChildCount(); i = i + 2) {
       if ("+".equals(ctx.getChild(i).getText())) {
-        time += DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time += DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       } else {
-        time -= DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time -= DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       }
     }
     return time;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineParser.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineParser.java
index a5e3de32ac..e943c0e0dc 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineParser.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineParser.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.protocol.influxdb.input;
 
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 
 import org.antlr.v4.runtime.ANTLRInputStream;
 import org.antlr.v4.runtime.CharStream;
@@ -44,7 +44,7 @@ public class InfluxLineParser {
   }
 
   public static List<Point> parserRecordsToPointsWithPrecision(String records, String precision) {
-    return parserRecordsToPoints(records, DatetimeUtils.toTimeUnit(precision));
+    return parserRecordsToPoints(records, DateTimeUtils.toTimeUnit(precision));
   }
 
   public static List<Point> parserRecordsToPoints(String records, TimeUnit precision) {
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java
index f413a4a4b3..6136ac99ee 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java
@@ -40,7 +40,7 @@ import org.apache.iotdb.db.qp.logical.crud.FromComponent;
 import org.apache.iotdb.db.qp.logical.crud.WhereComponent;
 import org.apache.iotdb.db.qp.sql.InfluxDBSqlParser;
 import org.apache.iotdb.db.qp.sql.InfluxDBSqlParserBaseVisitor;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 
 public class InfluxDBSqlVisitor extends InfluxDBSqlParserBaseVisitor<Operator> {
 
@@ -250,9 +250,9 @@ public class InfluxDBSqlVisitor extends InfluxDBSqlParserBaseVisitor<Operator> {
     time = parseTimeFormat(ctx.getChild(0).getText());
     for (int i = 1; i < ctx.getChildCount(); i = i + 2) {
       if (ctx.getChild(i).getText().equals("+")) {
-        time += DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time += DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       } else {
-        time -= DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time -= DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       }
     }
     return time;
@@ -264,7 +264,7 @@ public class InfluxDBSqlVisitor extends InfluxDBSqlParserBaseVisitor<Operator> {
       throw new IllegalArgumentException("input timestamp cannot be empty");
     }
     if (timestampStr.equalsIgnoreCase(SQLConstant.NOW_FUNC)) {
-      return DatetimeUtils.currentTime();
+      return DateTimeUtils.currentTime();
     }
     throw new IllegalArgumentException(
         String.format(
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/GroupByTimeFillPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/GroupByTimeFillPlan.java
index 8f793b38f3..1200ba4625 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/GroupByTimeFillPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/GroupByTimeFillPlan.java
@@ -19,7 +19,7 @@
 package org.apache.iotdb.db.qp.physical.crud;
 
 import org.apache.iotdb.db.qp.logical.Operator;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.executor.fill.IFill;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
@@ -94,10 +94,10 @@ public class GroupByTimeFillPlan extends GroupByTimePlan {
       long extraStartTime, intervalNum;
       if (isSlidingStepByMonth) {
         intervalNum = (long) Math.ceil(queryRange / (double) (slidingStep));
-        extraStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum);
+        extraStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum);
         while (extraStartTime < minQueryStartTime) {
           intervalNum += 1;
-          extraStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum);
+          extraStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum);
         }
       } else {
         intervalNum = (long) Math.ceil(queryRange / (double) slidingStep);
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
index 544e3db767..8b4d23e16d 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
@@ -23,7 +23,7 @@ import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
@@ -73,7 +73,7 @@ public class CreateContinuousQueryPlan extends PhysicalPlan {
     this.firstExecutionTimeBoundary =
         firstExecutionTimeBoundary != null
             ? firstExecutionTimeBoundary
-            : DatetimeUtils.currentTime();
+            : DateTimeUtils.currentTime();
   }
 
   public String getQuerySql() {
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index 3a649444a7..f8dfc07c97 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -153,7 +153,7 @@ import org.apache.iotdb.db.qp.logical.sys.UnsetTemplateOperator;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.ConstantContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.CqGroupByTimeClauseContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.ExpressionContext;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.executor.fill.IFill;
 import org.apache.iotdb.db.query.executor.fill.LinearFill;
 import org.apache.iotdb.db.query.executor.fill.PreviousFill;
@@ -790,16 +790,16 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
     if (ctx.DURATION_LITERAL().size() == 1) {
       if (ctx.EVERY() != null) {
         operator.setEveryInterval(
-            DatetimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(0).getText()));
+            DateTimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(0).getText()));
       } else if (ctx.FOR() != null) {
         operator.setForInterval(
-            DatetimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(0).getText()));
+            DateTimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(0).getText()));
       }
     } else if (ctx.DURATION_LITERAL().size() == 2) {
       operator.setEveryInterval(
-          DatetimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(0).getText()));
+          DateTimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(0).getText()));
       operator.setForInterval(
-          DatetimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(1).getText()));
+          DateTimeUtils.convertDurationStrToLong(ctx.DURATION_LITERAL(1).getText()));
     }
 
     if (ctx.BOUNDARY() != null) {
@@ -1648,7 +1648,7 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
 
   private void parseTimeInterval(
       IoTDBSqlParser.TimeRangeContext timeInterval, GroupByClauseComponent groupByClauseComponent) {
-    long currentTime = DatetimeUtils.currentTime();
+    long currentTime = DateTimeUtils.currentTime();
     long startTime = parseTimeValue(timeInterval.timeValue(0), currentTime);
     long endTime = parseTimeValue(timeInterval.timeValue(1), currentTime);
     groupByClauseComponent.setStartTime(startTime);
@@ -1849,10 +1849,10 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
             throw new SQLParserException("need timestamps when insert multi rows");
           }
           valueList.add(insertMultiValues.get(i).timeValue().getText());
-          timestamp = DatetimeUtils.currentTime();
+          timestamp = DateTimeUtils.currentTime();
         } else {
           timestamp =
-              parseTimeValue(insertMultiValues.get(i).timeValue(), DatetimeUtils.currentTime());
+              parseTimeValue(insertMultiValues.get(i).timeValue(), DateTimeUtils.currentTime());
         }
       } else {
         if (!isTimeDefault) {
@@ -2722,10 +2722,10 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
       throw new SQLParserException("input timestamp cannot be empty");
     }
     if (timestampStr.equalsIgnoreCase(SQLConstant.NOW_FUNC)) {
-      return DatetimeUtils.currentTime();
+      return DateTimeUtils.currentTime();
     }
     try {
-      return DatetimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
+      return DateTimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
     } catch (Exception e) {
       throw new SQLParserException(
           String.format(
@@ -2744,7 +2744,7 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
       return currentTime;
     }
     try {
-      return DatetimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
+      return DateTimeUtils.convertDatetimeStrToLong(timestampStr, zoneId);
     } catch (Exception e) {
       throw new SQLParserException(
           String.format(
@@ -2768,9 +2768,9 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
     time = parseDateFormat(ctx.getChild(0).getText());
     for (int i = 1; i < ctx.getChildCount(); i = i + 2) {
       if ("+".equals(ctx.getChild(i).getText())) {
-        time += DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time += DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       } else {
-        time -= DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time -= DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       }
     }
     return time;
@@ -2781,9 +2781,9 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
     time = parseDateFormat(ctx.getChild(0).getText(), currentTime);
     for (int i = 1; i < ctx.getChildCount(); i = i + 2) {
       if ("+".equals(ctx.getChild(i).getText())) {
-        time += DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time += DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       } else {
-        time -= DatetimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
+        time -= DateTimeUtils.convertDurationStrToLong(time, ctx.getChild(i + 1).getText());
       }
     }
     return time;
@@ -3336,7 +3336,7 @@ public class IoTDBSqlVisitor extends IoTDBSqlParserBaseVisitor<Operator> {
         groupByComponent.setSlidingStepByMonth(true);
       }
     }
-    return DatetimeUtils.convertDurationStrToLong(durationStr);
+    return DateTimeUtils.convertDurationStrToLong(durationStr);
   }
 
   private Expression parseConstantOperand(ConstantContext constantContext) {
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java b/server/src/main/java/org/apache/iotdb/db/qp/utils/DateTimeUtils.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java
rename to server/src/main/java/org/apache/iotdb/db/qp/utils/DateTimeUtils.java
index ddae6eb9c1..4c3b30b277 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/utils/DateTimeUtils.java
@@ -36,9 +36,9 @@ import java.time.temporal.ChronoField;
 import java.util.Calendar;
 import java.util.concurrent.TimeUnit;
 
-public class DatetimeUtils {
+public class DateTimeUtils {
 
-  private DatetimeUtils() {
+  private DateTimeUtils() {
     // forbidding instantiation
   }
 
@@ -558,7 +558,7 @@ public class DatetimeUtils {
           unit += duration.charAt(i);
         }
         total +=
-            DatetimeUtils.convertDurationStrToLong(
+            DateTimeUtils.convertDurationStrToLong(
                 currentTime == -1 ? -1 : currentTime + total,
                 temp,
                 unit.toLowerCase(),
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByTimeDataSet.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByTimeDataSet.java
index 16d039e370..cfc23c44cb 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByTimeDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByTimeDataSet.java
@@ -33,7 +33,7 @@ import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet;
 import java.io.IOException;
 import java.util.ArrayList;
 
-import static org.apache.iotdb.db.qp.utils.DatetimeUtils.MS_TO_MONTH;
+import static org.apache.iotdb.db.qp.utils.DateTimeUtils.MS_TO_MONTH;
 
 public abstract class GroupByTimeDataSet extends QueryDataSet {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/executor/fill/IFill.java b/server/src/main/java/org/apache/iotdb/db/query/executor/fill/IFill.java
index 40e61273ed..38ab341e45 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/executor/fill/IFill.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/executor/fill/IFill.java
@@ -31,7 +31,7 @@ import java.io.IOException;
 import java.util.Calendar;
 import java.util.Set;
 
-import static org.apache.iotdb.db.qp.utils.DatetimeUtils.MS_TO_MONTH;
+import static org.apache.iotdb.db.qp.utils.DateTimeUtils.MS_TO_MONTH;
 
 public abstract class IFill {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/executor/fill/LinearFill.java b/server/src/main/java/org/apache/iotdb/db/query/executor/fill/LinearFill.java
index 53aa0bb748..6a00787593 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/executor/fill/LinearFill.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/executor/fill/LinearFill.java
@@ -24,7 +24,7 @@ import org.apache.iotdb.db.engine.querycontext.QueryDataSource;
 import org.apache.iotdb.db.exception.StorageEngineException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.exception.query.UnSupportedFillTypeException;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.aggregation.AggregateResult;
 import org.apache.iotdb.db.query.aggregation.impl.FirstValueAggrResult;
 import org.apache.iotdb.db.query.aggregation.impl.MinTimeAggrResult;
@@ -58,8 +58,8 @@ public class LinearFill extends IFill {
   }
 
   public LinearFill(String beforeStr, String afterStr) {
-    this.beforeRange = DatetimeUtils.convertDurationStrToLong(beforeStr);
-    this.afterRange = DatetimeUtils.convertDurationStrToLong(afterStr);
+    this.beforeRange = DateTimeUtils.convertDurationStrToLong(beforeStr);
+    this.afterRange = DateTimeUtils.convertDurationStrToLong(afterStr);
     if (beforeStr.toLowerCase().contains("mo")) {
       this.isBeforeByMonth = true;
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/executor/fill/PreviousFill.java b/server/src/main/java/org/apache/iotdb/db/query/executor/fill/PreviousFill.java
index 33965a46c2..f514793afd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/executor/fill/PreviousFill.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/executor/fill/PreviousFill.java
@@ -22,7 +22,7 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.engine.querycontext.QueryDataSource;
 import org.apache.iotdb.db.exception.StorageEngineException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.control.QueryResourceManager;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -61,7 +61,7 @@ public class PreviousFill extends IFill {
   }
 
   public PreviousFill(String beforeStr, boolean untilLast) {
-    this.beforeRange = DatetimeUtils.convertDurationStrToLong(beforeStr);
+    this.beforeRange = DateTimeUtils.convertDurationStrToLong(beforeStr);
     this.untilLast = untilLast;
     if (beforeStr.toLowerCase().contains("mo")) {
       this.isBeforeByMonth = true;
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/SyncService.java b/server/src/main/java/org/apache/iotdb/db/sync/SyncService.java
index f4b9cd6ce4..f8b16b1f16 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/SyncService.java
+++ b/server/src/main/java/org/apache/iotdb/db/sync/SyncService.java
@@ -41,7 +41,7 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.mpp.plan.statement.sys.sync.CreatePipeSinkStatement;
 import org.apache.iotdb.db.qp.physical.sys.CreatePipeSinkPlan;
 import org.apache.iotdb.db.qp.physical.sys.ShowPipePlan;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.db.query.dataset.ListDataSet;
 import org.apache.iotdb.db.sync.common.ClusterSyncInfoFetcher;
 import org.apache.iotdb.db.sync.common.ISyncInfoFetcher;
@@ -169,7 +169,7 @@ public class SyncService implements IService {
 
   public synchronized void addPipe(PipeInfo pipeInfo) throws PipeException {
     logger.info("Execute CREATE PIPE {}", pipeInfo.getPipeName());
-    long currentTime = DatetimeUtils.currentTime();
+    long currentTime = DateTimeUtils.currentTime();
     if (pipeInfo instanceof TsFilePipeInfo) {
       // TODO(sync): move check logic to PipeInfo#validate()
       // check statement
@@ -177,9 +177,9 @@ public class SyncService implements IService {
         throw new PipeException(
             String.format(
                 "Start time %s is later than current time %s, this is not supported yet.",
-                DatetimeUtils.convertLongToDate(
+                DateTimeUtils.convertLongToDate(
                     ((TsFilePipeInfo) pipeInfo).getDataStartTimestamp()),
-                DatetimeUtils.convertLongToDate(currentTime)));
+                DateTimeUtils.convertLongToDate(currentTime)));
       }
     }
     // add pipe
@@ -362,7 +362,7 @@ public class SyncService implements IService {
         try {
           RowRecord record = new RowRecord(0);
           record.addField(
-              Binary.valueOf(DatetimeUtils.convertLongToDate(pipe.getCreateTime())),
+              Binary.valueOf(DateTimeUtils.convertLongToDate(pipe.getCreateTime())),
               TSDataType.TEXT);
           record.addField(Binary.valueOf(pipe.getPipeName()), TSDataType.TEXT);
           record.addField(Binary.valueOf(IoTDBConstant.SYNC_SENDER_ROLE), TSDataType.TEXT);
@@ -403,7 +403,7 @@ public class SyncService implements IService {
       // TODO(sync): Removing duplicate rows
       RowRecord record = new RowRecord(0);
       record.addField(
-          Binary.valueOf(DatetimeUtils.convertLongToDate(identityInfo.getCreateTime())),
+          Binary.valueOf(DateTimeUtils.convertLongToDate(identityInfo.getCreateTime())),
           TSDataType.TEXT);
       record.addField(Binary.valueOf(identityInfo.getPipeName()), TSDataType.TEXT);
       record.addField(Binary.valueOf(IoTDBConstant.SYNC_RECEIVER_ROLE), TSDataType.TEXT);
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/IoTDBDataDirViewer.java b/server/src/main/java/org/apache/iotdb/db/tools/IoTDBDataDirViewer.java
index 5a83743ae4..fe903d9834 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/IoTDBDataDirViewer.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/IoTDBDataDirViewer.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.tools;
 
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 
 import java.io.File;
@@ -151,9 +151,9 @@ public class IoTDBDataDirViewer {
               "|  |  |  |  |--device %s, start time %d (%s), end time %d (%s)",
               device,
               resource.getStartTime(device),
-              DatetimeUtils.convertMillsecondToZonedDateTime(resource.getStartTime(device)),
+              DateTimeUtils.convertMillsecondToZonedDateTime(resource.getStartTime(device)),
               resource.getEndTime(device),
-              DatetimeUtils.convertMillsecondToZonedDateTime(resource.getEndTime(device))));
+              DateTimeUtils.convertMillsecondToZonedDateTime(resource.getEndTime(device))));
     }
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/TsFileResourcePrinter.java b/server/src/main/java/org/apache/iotdb/db/tools/TsFileResourcePrinter.java
index 12415b185b..82a4b30147 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/TsFileResourcePrinter.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/TsFileResourcePrinter.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.tools;
 
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 
 import java.io.File;
@@ -78,9 +78,9 @@ public class TsFileResourcePrinter {
           "device %s, start time %d (%s), end time %d (%s)%n",
           device,
           resource.getStartTime(device),
-          DatetimeUtils.convertMillsecondToZonedDateTime(resource.getStartTime(device)),
+          DateTimeUtils.convertMillsecondToZonedDateTime(resource.getStartTime(device)),
           resource.getEndTime(device),
-          DatetimeUtils.convertMillsecondToZonedDateTime(resource.getEndTime(device)));
+          DateTimeUtils.convertMillsecondToZonedDateTime(resource.getEndTime(device)));
     }
     System.out.println();
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java b/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java
index 45f9e35a6f..96037915fd 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.tools.watermark;
 
 import org.apache.iotdb.db.exception.query.LogicalOperatorException;
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 
 import org.apache.thrift.EncodingUtils;
 
@@ -171,7 +171,7 @@ public class WatermarkDetector {
     try {
       timestamp = Long.parseLong(str);
     } catch (NumberFormatException e) {
-      timestamp = DatetimeUtils.convertDatetimeStrToLong(str, ZoneId.systemDefault());
+      timestamp = DateTimeUtils.convertDatetimeStrToLong(str, ZoneId.systemDefault());
     }
     return timestamp;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/AggrWindowIterator.java b/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/AggrWindowIterator.java
index a86383bdfe..684928436f 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/AggrWindowIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/AggrWindowIterator.java
@@ -19,10 +19,10 @@
 
 package org.apache.iotdb.db.utils.timerangeiterator;
 
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
+import org.apache.iotdb.db.qp.utils.DateTimeUtils;
 import org.apache.iotdb.tsfile.read.common.TimeRange;
 
-import static org.apache.iotdb.db.qp.utils.DatetimeUtils.MS_TO_MONTH;
+import static org.apache.iotdb.db.qp.utils.DateTimeUtils.MS_TO_MONTH;
 
 /**
  * This class iteratively generates aggregated time windows.
@@ -75,7 +75,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     if (isIntervalByMonth) {
       // calculate interval length by natural month based on startTime
       // ie. startTIme = 1/31, interval = 1mo, curEndTime will be set to 2/29
-      retEndTime = Math.min(DatetimeUtils.calcIntervalByMonth(startTime, interval), endTime);
+      retEndTime = Math.min(DateTimeUtils.calcIntervalByMonth(startTime, interval), endTime);
     } else {
       retEndTime = Math.min(startTime + interval, endTime);
     }
@@ -90,10 +90,10 @@ public class AggrWindowIterator implements ITimeRangeIterator {
 
     if (isSlidingStepByMonth) {
       intervalNum = (long) Math.ceil(queryRange / (double) (slidingStep * MS_TO_MONTH));
-      retStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
+      retStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
       while (retStartTime >= endTime) {
         intervalNum -= 1;
-        retStartTime = DatetimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
+        retStartTime = DateTimeUtils.calcIntervalByMonth(startTime, intervalNum * slidingStep);
       }
     } else {
       intervalNum = (long) Math.ceil(queryRange / (double) slidingStep);
@@ -103,7 +103,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     if (isIntervalByMonth) {
       // calculate interval length by natural month based on curStartTime
       // ie. startTIme = 1/31, interval = 1mo, curEndTime will be set to 2/29
-      retEndTime = Math.min(DatetimeUtils.calcIntervalByMonth(retStartTime, interval), endTime);
+      retEndTime = Math.min(DateTimeUtils.calcIntervalByMonth(retStartTime, interval), endTime);
     } else {
       retEndTime = Math.min(retStartTime + interval, endTime);
     }
@@ -121,7 +121,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     long curStartTime = curTimeRange.getMin();
     if (isAscending) {
       if (isSlidingStepByMonth) {
-        retStartTime = DatetimeUtils.calcIntervalByMonth(curStartTime, (int) (slidingStep));
+        retStartTime = DateTimeUtils.calcIntervalByMonth(curStartTime, (int) (slidingStep));
       } else {
         retStartTime = curStartTime + slidingStep;
       }
@@ -131,7 +131,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
       }
     } else {
       if (isSlidingStepByMonth) {
-        retStartTime = DatetimeUtils.calcIntervalByMonth(curStartTime, (int) (-slidingStep));
+        retStartTime = DateTimeUtils.calcIntervalByMonth(curStartTime, (int) (-slidingStep));
       } else {
         retStartTime = curStartTime - slidingStep;
       }
@@ -141,7 +141,7 @@ public class AggrWindowIterator implements ITimeRangeIterator {
     }
 
     if (isIntervalByMonth) {
-      retEndTime = DatetimeUtils.calcIntervalByMonth(retStartTime, (int) (interval));
+      retEndTime = DateTimeUtils.calcIntervalByMonth(retStartTime, (int) (interval));
     } else {
       retEndTime = retStartTime + interval;
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/TimeRangeIteratorFactory.java b/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/TimeRangeIteratorFactory.java
index 372135df8d..5e89ea0f6b 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/TimeRangeIteratorFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/timerangeiterator/TimeRangeIteratorFactory.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.utils.timerangeiterator;
 
-import static org.apache.iotdb.db.qp.utils.DatetimeUtils.MS_TO_MONTH;
+import static org.apache.iotdb.db.qp.utils.DateTimeUtils.MS_TO_MONTH;
 
 public class TimeRangeIteratorFactory {
 
diff --git a/server/src/test/java/org/apache/iotdb/db/qp/utils/DatetimeQueryDataSetUtilsTest.java b/server/src/test/java/org/apache/iotdb/db/qp/utils/DatetimeQueryDataSetUtilsTest.java
index fa764a172a..b6affb0497 100644
--- a/server/src/test/java/org/apache/iotdb/db/qp/utils/DatetimeQueryDataSetUtilsTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/qp/utils/DatetimeQueryDataSetUtilsTest.java
@@ -74,101 +74,101 @@ public class DatetimeQueryDataSetUtilsTest {
   /** Test time precision is ms. */
   @Test
   public void convertDurationStrToLongTest1() {
-    Assert.assertEquals(7000L, DatetimeUtils.convertDurationStrToLongForTest(7, "s", "ms"));
-    Assert.assertEquals(420000L, DatetimeUtils.convertDurationStrToLongForTest(7, "m", "ms"));
-    Assert.assertEquals(25200000L, DatetimeUtils.convertDurationStrToLongForTest(7, "h", "ms"));
-    Assert.assertEquals(604800000L, DatetimeUtils.convertDurationStrToLongForTest(7, "d", "ms"));
-    Assert.assertEquals(4233600000L, DatetimeUtils.convertDurationStrToLongForTest(7, "w", "ms"));
-    Assert.assertEquals(18144000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "mo", "ms"));
-    Assert.assertEquals(220752000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "y", "ms"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7, "ms", "ms"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7000, "us", "ms"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7000000, "ns", "ms"));
+    Assert.assertEquals(7000L, DateTimeUtils.convertDurationStrToLongForTest(7, "s", "ms"));
+    Assert.assertEquals(420000L, DateTimeUtils.convertDurationStrToLongForTest(7, "m", "ms"));
+    Assert.assertEquals(25200000L, DateTimeUtils.convertDurationStrToLongForTest(7, "h", "ms"));
+    Assert.assertEquals(604800000L, DateTimeUtils.convertDurationStrToLongForTest(7, "d", "ms"));
+    Assert.assertEquals(4233600000L, DateTimeUtils.convertDurationStrToLongForTest(7, "w", "ms"));
+    Assert.assertEquals(18144000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "mo", "ms"));
+    Assert.assertEquals(220752000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "y", "ms"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7, "ms", "ms"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7000, "us", "ms"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7000000, "ns", "ms"));
   }
 
   /** Test time precision is us. */
   @Test
   public void convertDurationStrToLongTest2() {
-    Assert.assertEquals(7000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "s", "us"));
-    Assert.assertEquals(420000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "m", "us"));
-    Assert.assertEquals(25200000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "h", "us"));
-    Assert.assertEquals(604800000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "d", "us"));
+    Assert.assertEquals(7000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "s", "us"));
+    Assert.assertEquals(420000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "m", "us"));
+    Assert.assertEquals(25200000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "h", "us"));
+    Assert.assertEquals(604800000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "d", "us"));
     Assert.assertEquals(
-        4233600000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "w", "us"));
+        4233600000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "w", "us"));
     Assert.assertEquals(
-        18144000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "mo", "us"));
+        18144000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "mo", "us"));
     Assert.assertEquals(
-        220752000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "y", "us"));
-    Assert.assertEquals(7000L, DatetimeUtils.convertDurationStrToLongForTest(7, "ms", "us"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7, "us", "us"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7000, "ns", "us"));
+        220752000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "y", "us"));
+    Assert.assertEquals(7000L, DateTimeUtils.convertDurationStrToLongForTest(7, "ms", "us"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7, "us", "us"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7000, "ns", "us"));
   }
 
   /** Test time precision is ns. */
   @Test
   public void convertDurationStrToLongTest3() {
-    Assert.assertEquals(7000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "s", "ns"));
-    Assert.assertEquals(420000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "m", "ns"));
+    Assert.assertEquals(7000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "s", "ns"));
+    Assert.assertEquals(420000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "m", "ns"));
     Assert.assertEquals(
-        25200000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "h", "ns"));
+        25200000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "h", "ns"));
     Assert.assertEquals(
-        604800000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "d", "ns"));
+        604800000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "d", "ns"));
     Assert.assertEquals(
-        4233600000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "w", "ns"));
+        4233600000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "w", "ns"));
     Assert.assertEquals(
-        18144000000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "mo", "ns"));
+        18144000000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "mo", "ns"));
     Assert.assertEquals(
-        220752000000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "y", "ns"));
-    Assert.assertEquals(7000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "ms", "ns"));
-    Assert.assertEquals(7000L, DatetimeUtils.convertDurationStrToLongForTest(7, "us", "ns"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7, "ns", "ns"));
+        220752000000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "y", "ns"));
+    Assert.assertEquals(7000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "ms", "ns"));
+    Assert.assertEquals(7000L, DateTimeUtils.convertDurationStrToLongForTest(7, "us", "ns"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7, "ns", "ns"));
   }
 
   @Test
   public void getInstantWithPrecisionTest() {
-    Assert.assertEquals(7000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "s", "ns"));
-    Assert.assertEquals(420000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "m", "ns"));
+    Assert.assertEquals(7000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "s", "ns"));
+    Assert.assertEquals(420000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "m", "ns"));
     Assert.assertEquals(
-        25200000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "h", "ns"));
+        25200000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "h", "ns"));
     Assert.assertEquals(
-        604800000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "d", "ns"));
+        604800000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "d", "ns"));
     Assert.assertEquals(
-        4233600000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "w", "ns"));
+        4233600000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "w", "ns"));
     Assert.assertEquals(
-        18144000000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "mo", "ns"));
+        18144000000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "mo", "ns"));
     Assert.assertEquals(
-        220752000000000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "y", "ns"));
-    Assert.assertEquals(7000000L, DatetimeUtils.convertDurationStrToLongForTest(7, "ms", "ns"));
-    Assert.assertEquals(7000L, DatetimeUtils.convertDurationStrToLongForTest(7, "us", "ns"));
-    Assert.assertEquals(7L, DatetimeUtils.convertDurationStrToLongForTest(7, "ns", "ns"));
+        220752000000000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "y", "ns"));
+    Assert.assertEquals(7000000L, DateTimeUtils.convertDurationStrToLongForTest(7, "ms", "ns"));
+    Assert.assertEquals(7000L, DateTimeUtils.convertDurationStrToLongForTest(7, "us", "ns"));
+    Assert.assertEquals(7L, DateTimeUtils.convertDurationStrToLongForTest(7, "ns", "ns"));
   }
 
   /** Test convert duration including natural month unit. Time includes: 1970-01-01 ~ 1970-12-01 */
   @Test
   public void getConvertDurationIncludingMonthUnit() {
-    Assert.assertEquals(31 * 86400000L, DatetimeUtils.convertDurationStrToLong(0, 1, "mo", "ms"));
+    Assert.assertEquals(31 * 86400000L, DateTimeUtils.convertDurationStrToLong(0, 1, "mo", "ms"));
     Assert.assertEquals(
-        28 * 86400000L, DatetimeUtils.convertDurationStrToLong(2678400000L, 1, "mo", "ms"));
+        28 * 86400000L, DateTimeUtils.convertDurationStrToLong(2678400000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        31 * 86400000L, DatetimeUtils.convertDurationStrToLong(5097600000L, 1, "mo", "ms"));
+        31 * 86400000L, DateTimeUtils.convertDurationStrToLong(5097600000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        30 * 86400000L, DatetimeUtils.convertDurationStrToLong(7776000000L, 1, "mo", "ms"));
+        30 * 86400000L, DateTimeUtils.convertDurationStrToLong(7776000000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        31 * 86400000L, DatetimeUtils.convertDurationStrToLong(10368000000L, 1, "mo", "ms"));
+        31 * 86400000L, DateTimeUtils.convertDurationStrToLong(10368000000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        30 * 86400000L, DatetimeUtils.convertDurationStrToLong(13046400000L, 1, "mo", "ms"));
+        30 * 86400000L, DateTimeUtils.convertDurationStrToLong(13046400000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        31 * 86400000L, DatetimeUtils.convertDurationStrToLong(15638400000L, 1, "mo", "ms"));
+        31 * 86400000L, DateTimeUtils.convertDurationStrToLong(15638400000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        31 * 86400000L, DatetimeUtils.convertDurationStrToLong(18316800000L, 1, "mo", "ms"));
+        31 * 86400000L, DateTimeUtils.convertDurationStrToLong(18316800000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        30 * 86400000L, DatetimeUtils.convertDurationStrToLong(20995200000L, 1, "mo", "ms"));
+        30 * 86400000L, DateTimeUtils.convertDurationStrToLong(20995200000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        31 * 86400000L, DatetimeUtils.convertDurationStrToLong(23587200000L, 1, "mo", "ms"));
+        31 * 86400000L, DateTimeUtils.convertDurationStrToLong(23587200000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        30 * 86400000L, DatetimeUtils.convertDurationStrToLong(26265600000L, 1, "mo", "ms"));
+        30 * 86400000L, DateTimeUtils.convertDurationStrToLong(26265600000L, 1, "mo", "ms"));
     Assert.assertEquals(
-        31 * 86400000L, DatetimeUtils.convertDurationStrToLong(28857600000L, 1, "mo", "ms"));
+        31 * 86400000L, DateTimeUtils.convertDurationStrToLong(28857600000L, 1, "mo", "ms"));
   }
 
   public void testConvertDatetimeStrToLongWithoutMS(ZoneOffset zoneOffset, ZoneId zoneId, long res)
@@ -189,11 +189,11 @@ public class DatetimeQueryDataSetUtilsTest {
           "2019.01.02T15:13:27" + zoneOffset,
         };
     for (String str : timeFormatWithoutMs) {
-      Assert.assertEquals(res, DatetimeUtils.convertDatetimeStrToLong(str, zoneOffset, 0, "ms"));
+      Assert.assertEquals(res, DateTimeUtils.convertDatetimeStrToLong(str, zoneOffset, 0, "ms"));
     }
 
     for (String str : timeFormatWithoutMs) {
-      assertEquals(res, DatetimeUtils.convertDatetimeStrToLong(str, zoneId));
+      assertEquals(res, DateTimeUtils.convertDatetimeStrToLong(str, zoneId));
     }
   }
 
@@ -215,11 +215,11 @@ public class DatetimeQueryDataSetUtilsTest {
           "2019.01.02T15:13:27.689" + zoneOffset,
         };
     for (String str : timeFormatWithoutMs) {
-      assertEquals(res, DatetimeUtils.convertDatetimeStrToLong(str, zoneOffset, 0, "ms"));
+      assertEquals(res, DateTimeUtils.convertDatetimeStrToLong(str, zoneOffset, 0, "ms"));
     }
 
     for (String str : timeFormatWithoutMs) {
-      assertEquals(res, DatetimeUtils.convertDatetimeStrToLong(str, zoneId));
+      assertEquals(res, DateTimeUtils.convertDatetimeStrToLong(str, zoneId));
     }
   }
 
@@ -230,11 +230,11 @@ public class DatetimeQueryDataSetUtilsTest {
           "2019-01-02", "2019/01/02", "2019.01.02",
         };
     for (String str : timeFormatWithoutMs) {
-      assertEquals(res, DatetimeUtils.convertDatetimeStrToLong(str, zoneOffset, 0, "ms"));
+      assertEquals(res, DateTimeUtils.convertDatetimeStrToLong(str, zoneOffset, 0, "ms"));
     }
 
     for (String str : timeFormatWithoutMs) {
-      assertEquals(res, DatetimeUtils.convertDatetimeStrToLong(str, zoneId));
+      assertEquals(res, DateTimeUtils.convertDatetimeStrToLong(str, zoneId));
     }
   }
 }