在資料處理任務中,常需要根據任務啟動並執行時間動態產生分區或檔案名稱。使用系統提供的參數(如基於業務日期的 ${...} 和基於定時時間的 $[...])可以實現動態時間值的注入。下文對比不同參數格式在精度、位移計算能力和使用情境上的核心差異
瞭解基準時間的定義和自訂參數的變換方式,請參見調度參數支援的格式。
不同格式自訂參數的應用對比
以目前時間 2025年11月01日、任務每日定時已耗用時間 00:00 為例,不同格式自訂參數的賦值情況如下:
假設代碼引用方式均為pt=${datetime}。
參數格式 | 描述 | 調度參數賦值 | 參數替換結果 |
| 擷取業務時間。 |
|
|
| 擷取定時時間,精確到秒。 |
|
|
| 擷取業務時間。 |
|
|
| 擷取定時時間,精確到秒。 |
|
|
| 擷取目前時間,精確到天。 |
|
|
| 擷取業務月份。取值邏輯如下:
|
| 例如,目前時間為
|
${…}和$[…]參數的核心差異
${…} 和 $[…] 參數的核心差異對比如下:
對比維度 |
|
|
時間基準 | 業務日期(T-1) | 定時時間(T) |
時間精度 | 天 (年月日) | 秒 (年月日時分秒) |
位移計算能力 | 支援對 年、月、周、天 進行位移計算。 | 支援對 天、小時、分鐘 進行位移計算。 |
核心限制 | 不支援時、分、秒等更小時間單位的格式化與位移計算。 | 不支援通過 |
預設等價 |
|
|
本文以ODPS SQL節點為例,假設任務的調度時間為2025年07月20日10時30分00秒,展示${…}和$[…]參數的時間取值配置,具體如下表。
時間取值 | ${…}參數 | $[…]參數 |
取年份:2025 |
|
|
取年份:25 |
|
|
取年份:2024 |
|
|
取月份:07 |
|
|
取日期(天):20 |
|
|
取日期:2025年06月20日 |
重要 此方式需考慮月份天數,不推薦使用,建議通過 |
|
取日期:2025年07月19日 |
|
|
取日期:2024年07月20日 |
重要 此方法需考慮閏年,不推薦使用,建議通過 |
|
取時間:10:30:00 | 不支援 |
|
取時間:2025-07-20 10:30:00 | 不支援 |
|
取時間:2025-07-20 10:29:00 | 不支援 |
|
取時間:2025-07-20 09:30:00 | 不支援 |
|
取前一天時間,精確到秒,且年月日與時分秒之間無空格: 2025071910:30:00 | 不支援 |
|
取前一天時間,精確到秒,且年月日與時分秒之間有空格: 20250719 10:30:00 | 不支援 | 重要 調度參數賦值運算式中不支援空格,您可以使用兩個調度參數,然後在代碼引用時使用空格進行拼接。
|