Airflow的设计理念是国际通用,不管在哪个时区,所以Airflow整体使用的是UTC时间,无论是数据库存储的时间还是WebServer UI上显示的时间都是UTC时间,而且是没法改的;
数据库里存储的时间格式,我们根本不关心,UI界面上大部分显示的都是UTC时间,但是重要的地方,比如说Task Instance的运行开始时间,结束时间等重要的地方会同时显示,UTC时间和设置的Local的时间,所有这点也可以忍受;
最重要的是我们在写dag文件的时候,里面的时区怎么处理呢?
在airflow.cfg配置文件的core部分,有如下的配置,我们可以设置任何一个IANA time zone中指定的时区;
这样我们在配置文件中的时间就都是基于此配置的时区的了;
万金油的打法是下面这个样子,Time zone aware DAGs
Airflow会自动处理时间对象里的tzinfo属性,在合适的时间做转化
参考
Apache Airflow Documentation # Time zones