我在我的www.example.com程序中使用了time_marker = {{execution_date.in_timezone('Europe/Amsterdam')}}
.我试着把日期部分保留在执行日期里,把时间设为"T00:00:00"
因此,无论何时在它运行的执行日期,time_marker都将始终为例如20240115T00:00:00
我该怎么做呢?我try 使用Pandulum.parse,但没有找到如何操作的方法.谢谢.
我在我的www.example.com程序中使用了time_marker = {{execution_date.in_timezone('Europe/Amsterdam')}}
.我试着把日期部分保留在执行日期里,把时间设为"T00:00:00"
因此,无论何时在它运行的执行日期,time_marker都将始终为例如20240115T00:00:00
我该怎么做呢?我try 使用Pandulum.parse,但没有找到如何操作的方法.谢谢.
将自定义宏添加到达格定义中
功能:
def format_execution_date(execution_date):
amsterdam_time = execution_date.in_timezone('Europe/Amsterdam')
midnight_amsterdam_time = amsterdam_time.start_of('day')
return midnight_amsterdam_time.format('YYYYMMDDT00:00:00')
使用功能:
with DAG(
...
user_defined_macros={'format_execution_date': format_execution_date},
) as dag:
...
在您的任务中,您可以通过以下方式使用:
params={
'time_marker': '{{ format_execution_date(execution_date) }}'
}