diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/BusinessTimeUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/BusinessTimeUtils.java
index f5bced3..4c6787f 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/BusinessTimeUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/placeholder/BusinessTimeUtils.java
@@ -48,10 +48,12 @@
      */
     public static Map<String, String> getBusinessTime(CommandType commandType, Date runTime) {
         Date businessDate;
+        Map<String, String> result = new HashMap<>();
         switch (commandType) {
             case COMPLEMENT_DATA:
-                businessDate = DateUtils.addDays(runTime, -1);
-                break;
+                if (runTime == null) {
+                    return result;
+                }
             case START_PROCESS:
             case START_CURRENT_TASK_PROCESS:
             case RECOVER_TOLERANCE_FAULT_PROCESS:
@@ -70,7 +72,6 @@
                 break;
         }
         Date businessCurrentDate = addDays(businessDate, 1);
-        Map<String, String> result = new HashMap<>();
         result.put(Constants.PARAMETER_CURRENT_DATE, format(businessCurrentDate, PARAMETER_FORMAT_DATE));
         result.put(Constants.PARAMETER_BUSINESS_DATE, format(businessDate, PARAMETER_FORMAT_DATE));
         result.put(Constants.PARAMETER_DATETIME, format(businessCurrentDate, PARAMETER_FORMAT_TIME));
