{
  "id": "days-until-school-ends",
  "version": "ac699d3ccc00",
  "status": "published",
  "name": "Days Until School Ends",
  "question": "How many days until school ends?",
  "summary": "Counts the days, weekdays, school days, and weeks from today, or any date, to the last day of school, leaving out the days off you enter.",
  "category": "days",
  "subcategory": "countdowns",
  "url": "https://www.acalculator.org/days/days-until-school-ends",
  "markdown": "https://www.acalculator.org/days/days-until-school-ends.md",
  "kind": "function",
  "method": "days = last day of school − start date; weekdays = the Mondays to Fridays after the start date, up to and including the last day; school days = weekdays − weekdays off.",
  "assumptions": [
    "The start date is not counted and the last day of school is: from the day before the last day, the count is 1 day and 1 school day if it is a weekday.",
    "Weekdays are Monday to Friday. School days are the weekdays less the weekdays off that you enter; holidays and breaks are not known to the page, because they differ by district.",
    "With the last day left empty, the page counts to the first last day of school on or after the start date in Northside ISD’s published calendars (San Antonio, Texas): May 26, 2027 (2026–27) or May 25, 2028 (2027–28), and names the school year. After May 25, 2028, enter a date.",
    "A last day before the start date, or more weekdays off than weekdays left, has no answer.",
    "Dates from January 1, 2000 to December 31, 2100 work. Dates are calendar days with no time of day."
  ],
  "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. It is not counted.",
        "type": "string",
        "format": "date"
      },
      "last": {
        "title": "Last day of school",
        "description": "Your school’s last day, from its calendar. Left empty, the page counts to an example: the next last day of school of Northside ISD, San Antonio, Texas.",
        "type": "string",
        "format": "date"
      },
      "off": {
        "title": "Weekdays off before then",
        "description": "Weekdays from the day after the start date to the last day of school with no school: holidays, breaks, and teacher days.",
        "type": "integer",
        "minimum": 0,
        "maximum": 10000
      }
    }
  },
  "outputs": {
    "days": {
      "label": "Days until school ends",
      "description": "Calendar days from the start date to the last day of school; 0 on the last day itself.",
      "format": "integer"
    },
    "school": {
      "label": "School days left",
      "description": "The weekdays left, less the weekdays off you entered. The last day of school counts.",
      "format": "integer"
    },
    "weekdays": {
      "label": "Weekdays left",
      "description": "Mondays to Fridays after the start date, up to and including the last day of school.",
      "format": "integer"
    },
    "weeks": {
      "label": "In weeks",
      "description": "The calendar days as whole weeks and days.",
      "format": "text"
    },
    "date": {
      "label": "Last day of school",
      "description": "The last day of school counted to.",
      "format": "date-long"
    },
    "example": {
      "label": "Example calendar",
      "description": "The district calendar the last day comes from, when the box is left empty.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "from": "2026-10-19",
      "off": 0
    },
    "outputs": {
      "days": 219,
      "school": 157,
      "weekdays": 157,
      "weeks": "31 weeks and 2 days",
      "date": "2027-05-26",
      "example": "Northside ISD, San Antonio, Texas, 2026–27 school year"
    },
    "text": "From October 19, 2026, there are 219 days until the last day of school, Wednesday, May 26, 2027."
  },
  "examples": [
    {
      "given": {
        "from": "2026-10-19",
        "off": 0
      },
      "expect": {
        "days": 219,
        "school": 157,
        "weekdays": 157,
        "weeks": "31 weeks and 2 days",
        "date": "2027-05-26",
        "example": "Northside ISD, San Antonio, Texas, 2026–27 school year"
      },
      "source": "Northside ISD, Calendars (https://www.nisd.net/schools/calendars) and Board approves instructional calendars (https://www.nisd.net/news/board-approves-instructional-calendars): last days of school May 26, 2027 and May 25, 2028; hand calculation in content.mdx; Python 3 cross-check in docs/progress/WP-141/crosscheck.py"
    },
    {
      "given": {
        "from": "2027-03-01",
        "last": "2027-05-26",
        "off": 5
      },
      "expect": {
        "days": 86,
        "school": 57,
        "weekdays": 62,
        "weeks": "12 weeks and 2 days",
        "date": "2027-05-26"
      },
      "source": "Northside ISD, Calendars (https://www.nisd.net/schools/calendars) and Board approves instructional calendars (https://www.nisd.net/news/board-approves-instructional-calendars): last days of school May 26, 2027 and May 25, 2028; hand calculation in content.mdx; Python 3 cross-check in docs/progress/WP-141/crosscheck.py"
    },
    {
      "given": {
        "from": "2027-05-27",
        "off": 0
      },
      "expect": {
        "days": 364,
        "school": 260,
        "weekdays": 260,
        "weeks": "52 weeks",
        "date": "2028-05-25",
        "example": "Northside ISD, San Antonio, Texas, 2027–28 school year"
      },
      "source": "Northside ISD, Calendars (https://www.nisd.net/schools/calendars) and Board approves instructional calendars (https://www.nisd.net/news/board-approves-instructional-calendars): last days of school May 26, 2027 and May 25, 2028; hand calculation in content.mdx; Python 3 cross-check in docs/progress/WP-141/crosscheck.py"
    },
    {
      "given": {
        "from": "2027-06-04",
        "last": "2027-06-07",
        "off": 0
      },
      "expect": {
        "days": 3,
        "school": 1,
        "weekdays": 1,
        "weeks": "3 days",
        "date": "2027-06-07"
      },
      "source": "hand calculation in content.mdx; Python 3 cross-check in docs/progress/WP-141/crosscheck.py"
    },
    {
      "given": {
        "from": "2027-05-26",
        "last": "2027-05-26",
        "off": 0
      },
      "expect": {
        "days": 0,
        "school": 0,
        "weekdays": 0,
        "weeks": "0 days",
        "date": "2027-05-26"
      },
      "source": "hand calculation in content.mdx"
    }
  ],
  "sources": [
    "Northside ISD, Calendars: the 2026–27 calendar, “May 26: Last Day of School” (retrieved 2026-10-19). https://www.nisd.net/schools/calendars",
    "Northside ISD, Board approves instructional calendars, December 9, 2025: school years ending May 26, 2027 and May 25, 2028 (retrieved 2026-10-19). https://www.nisd.net/news/board-approves-instructional-calendars",
    "New York City Public Schools, 2026–2027 School Year Calendar: last day of school for students, June 28 (retrieved 2026-10-19). https://www.schools.nyc.gov/calendar/2026-2027-school-year-calendar",
    "National Center for Education Statistics, State Education Practices, Table 5.14: Number of instructional days and hours in the school year, by state (retrieved 2026-10-19). https://nces.ed.gov/programs/statereform/tab5_14.asp"
  ],
  "related": [
    "days-until-school-starts",
    "business-days",
    "days-until",
    "days-between-dates"
  ],
  "changelog": []
}
