Skip to content

Document Daylight Saving Time schedule behavior (#38098) - #75235

Open
Aryan9891 wants to merge 1 commit into
apache:mainfrom
Aryan9891:fix/airflow-issue-38098
Open

Aryan9891 wants to merge 1 commit into
apache:mainfrom
Aryan9891:fix/airflow-issue-38098

Conversation

@Aryan9891

Copy link
Copy Markdown

Description

This PR documents the behavior of DAG schedule intervals and DagRun generation during Daylight Saving Time (DST) transitions in airflow-core/docs/authoring-and-scheduling/timezone.rst, addressing the confusion around skipped/gap and folded/repeated hours in timezone-aware DAG schedules.

Specifically, it clarifies:

  • Spring Forward (Entering DST - Non-existent wall-clock times): How non-existent wall-clock times (e.g. 02:00-03:00) are bridged by Airflow's cron interval timetable by ending the data interval at the newly advanced local time (aligned to the DST switch point in UTC), resulting in a 23-hour transition data interval while ensuring DagRuns are created normally without being dropped.
  • Fall Back (Exiting DST - Repeated wall-clock times): How repeated wall-clock times (e.g. 01:00-02:00) are disambiguated using the fold=1 attribute, resulting in a 25-hour transition data interval and generating a single DagRun across the fold rather than duplicating runs for the same wall-clock timestamp.
  • Elapsed Time Recommendations: Guidance to use UTC (tz="UTC" or schedule=timedelta(...)) when workflows require strictly uniform, constant physical elapsed intervals.

closes: #38098


Was generative AI tooling used to co-author this PR?
  • Yes (Antigravity)

Generated-by: Antigravity following the guidelines


Signed-off-by: Aryan Sachin <aryansachinixd@gmail.com>
@boring-cyborg

boring-cyborg Bot commented Oct 20, 2026

Copy link
Copy Markdown

Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide
Here are some useful points:

  • Pay attention to the quality of your code (ruff, mypy and type annotations). Our prek-hooks will help you with that.
  • In case of a new feature add useful documentation (in docstrings or in docs/ directory). Adding a new operator? Check this short guide Consider adding an example Dag that shows how users should use it.
  • Consider using Breeze environment for testing locally, it's a heavy docker but it ships with a working Airflow and a lot of integrations.
  • Be patient and persistent. It might take some time to get a review or get the final approval from Committers.
  • Please follow ASF Code of Conduct for all communication including (but not limited to) comments on Pull Requests, Mailing list and Slack.
  • Be sure to read the Airflow Coding style.
  • Always keep your Pull Requests rebased, otherwise your build might fail due to changes not related to your commits.
    Apache Airflow is a community-driven project and together we are making it better 🚀.
    In case of doubts contact the developers at:
    Mailing List: dev@airflow.apache.org
    Slack: https://s.apache.org/airflow-slack

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

1 participant