{
  "id": "days-until-march",
  "version": "5a76bf3f76fd",
  "status": "published",
  "name": "Days Until March",
  "question": "Days until March",
  "summary": "Counts the days from today, or any date you choose, to March 1, the first day of the next March, with its weekday and the time in weeks and months.",
  "category": "days",
  "subcategory": "countdowns",
  "url": "https://www.acalculator.org/days/days-until-march",
  "markdown": "https://www.acalculator.org/days/days-until-march.md",
  "kind": "function",
  "method": "Find the first March 1 on or after the start date, then count the days from the start date to it.",
  "assumptions": [
    "The count is to March 1, the first day of the month. During March, it counts to March 1 of the next year.",
    "The start date itself is not counted: from the day before, the count is 1; on the day itself, it is 0.",
    "Dates are calendar days with no time of day, so a time zone or a daylight-saving change never adds or loses a day.",
    "Start dates from January 1, 1900 to December 31, 2400 work."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "from": {
        "title": "Count from",
        "description": "The date to count from. Today, unless you change it.",
        "type": "string",
        "format": "date"
      }
    }
  },
  "outputs": {
    "days": {
      "label": "Days until March",
      "description": "Whole days from the start date to the next March 1; 0 on March 1 itself.",
      "format": "integer"
    },
    "date": {
      "label": "Date",
      "description": "The next March 1 on or after the start date.",
      "format": "date-long"
    },
    "weekday": {
      "label": "Day of the week",
      "description": "The weekday of that March 1.",
      "format": "text"
    },
    "weeks": {
      "label": "In weeks",
      "description": "The same number of days in weeks and days.",
      "format": "text"
    },
    "months": {
      "label": "In months and days",
      "description": "The time to that date in whole months, then days.",
      "format": "duration"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "from": "2026-09-30"
    },
    "outputs": {
      "days": 152,
      "date": "2027-03-01",
      "weekday": "Monday",
      "weeks": "21 weeks and 5 days",
      "months": {
        "years": 0,
        "months": 5,
        "days": 1
      }
    },
    "text": "From September 30, 2026, there are 152 days until March on Monday, March 1, 2027."
  },
  "examples": [
    {
      "given": {
        "from": "2026-09-28"
      },
      "expect": {
        "date": "2027-03-01",
        "days": 154,
        "weekday": "Monday"
      },
      "source": "U.S. Naval Observatory, Leap Years: the Gregorian leap year rule (https://aa.usno.navy.mil/faq/leap_years); Python 3 datetime: the next first of the month on or after the start date (docs/progress/WP-45/truth.py)"
    },
    {
      "given": {
        "from": "2026-03-01"
      },
      "expect": {
        "date": "2026-03-01",
        "days": 0,
        "weekday": "Sunday"
      },
      "source": "U.S. Naval Observatory, Leap Years: the Gregorian leap year rule (https://aa.usno.navy.mil/faq/leap_years); Python 3 datetime: the next first of the month on or after the start date (docs/progress/WP-45/truth.py)"
    },
    {
      "given": {
        "from": "2026-03-02"
      },
      "expect": {
        "date": "2027-03-01",
        "days": 364,
        "weekday": "Monday"
      },
      "source": "U.S. Naval Observatory, Leap Years: the Gregorian leap year rule (https://aa.usno.navy.mil/faq/leap_years); Python 3 datetime: the next first of the month on or after the start date (docs/progress/WP-45/truth.py)"
    },
    {
      "given": {
        "from": "2028-02-29"
      },
      "expect": {
        "date": "2028-03-01",
        "days": 1,
        "weekday": "Wednesday"
      },
      "source": "U.S. Naval Observatory, Leap Years: the Gregorian leap year rule (https://aa.usno.navy.mil/faq/leap_years); Python 3 datetime: the next first of the month on or after the start date (docs/progress/WP-45/truth.py)"
    }
  ],
  "sources": [],
  "related": [
    "days-until-february",
    "days-until-april",
    "days-until",
    "days-between-dates"
  ],
  "changelog": []
}
