If you are using Apache Airflow and you find a need to make a date in order to compare it to the airflow execution date, here is a simple/clean way of doing it.
Airflow’s dates appear to be in the ISO standard format, with a time zone qualifier. From their docs here (https://airflow.apache.org/docs/stable/timezone.html):
Support for time zones is enabled by default. Airflow stores datetime information in UTC internally and in the database. It allows you to run your DAGs with time zone dependent schedules. At the moment Airflow does not convert them to the end user’s time zone in the user interface. There it will always be displayed in UTC.
The execution_date will always be in UTC. So, this piece of code should always work to get the current time in airflow execution_date’s time format:
from datetime import datetime, timezone datetime.now(timezone.utc).isoformat('T')
Also, you should note that these dates appear in this format:
This is great because it means that you can compare them as strings since the numbers are all most-significant-first and 24-hour based.