{
  "id": "30-days-from-today",
  "version": "2079d16421de",
  "status": "published",
  "name": "30 Days From Today",
  "question": "What date is 30 days from today?",
  "summary": "Finds the date 30 calendar days after today, or after any start date, with its weekday and week number.",
  "category": "days",
  "subcategory": "dates",
  "url": "https://www.acalculator.org/days/30-days-from-today",
  "markdown": "https://www.acalculator.org/days/30-days-from-today.md",
  "kind": "function",
  "method": "Add the number of days to the start date on the calendar; a negative number counts back.",
  "assumptions": [
    "The start date itself is not counted: 1 day from Monday is Tuesday.",
    "A negative number counts back, and the answer says “before”: −30 days from October 28 reads “30 days before October 28, 2026 is September 28, 2026”.",
    "Every calendar day counts, weekends and holidays included. To skip them, use the Days From Today Calculator.",
    "Dates are calendar days with no time of day, so daylight-saving changes cannot add or lose a day.",
    "Week numbers follow ISO 8601: weeks start on Monday, and week 1 is the week with the year’s first Thursday."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "days": {
        "title": "Number of days",
        "description": "How many calendar days to count. A negative number counts back into the past.",
        "type": "integer",
        "minimum": -100000,
        "maximum": 100000
      },
      "start": {
        "title": "Start date",
        "description": "The date to count from. Today, unless you change it.",
        "type": "string",
        "format": "date"
      }
    }
  },
  "outputs": {
    "date": {
      "label": "Date",
      "description": "The date that many calendar days after the start date, or before it for a negative number.",
      "format": "date-long"
    },
    "weekday": {
      "label": "Day of the week",
      "description": "The weekday of the result date.",
      "format": "text"
    },
    "week": {
      "label": "ISO week",
      "description": "The ISO 8601 week number of the result date (weeks start on Monday).",
      "format": "integer"
    },
    "weeks": {
      "label": "In weeks",
      "description": "The number of days in weeks and days.",
      "format": "text"
    },
    "counted": {
      "label": "Counted",
      "description": "The count in words: “90 days from”, or “30 days before” for a negative number.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "days": 30,
      "start": "2026-09-29"
    },
    "outputs": {
      "date": "2026-10-29",
      "weekday": "Thursday",
      "week": 44,
      "weeks": "4 weeks and 2 days",
      "counted": "30 days from"
    },
    "text": "30 days from September 29, 2026 is Thursday, October 29, 2026."
  },
  "examples": [
    {
      "given": {
        "days": 30,
        "start": "2026-09-28"
      },
      "expect": {
        "date": "2026-10-28",
        "weekday": "Wednesday",
        "week": 44,
        "counted": "30 days from"
      },
      "source": "Python 3: date.fromisoformat('2026-09-28') + timedelta(30) = 2026-10-28, a Wednesday, ISO week 44"
    },
    {
      "given": {
        "days": 30,
        "start": "2028-02-01"
      },
      "expect": {
        "date": "2028-03-02",
        "weekday": "Thursday",
        "week": 9,
        "counted": "30 days from"
      },
      "source": "Python 3: date.fromisoformat('2028-02-01') + timedelta(30) = 2028-03-02, a Thursday, ISO week 9"
    }
  ],
  "sources": [],
  "related": [
    "days-from-today",
    "28-days-from-today",
    "45-days-from-today",
    "60-days-from-today",
    "90-days-from-today",
    "180-days-from-today",
    "days-between-dates"
  ],
  "changelog": []
}
