Date Calculator
Date differences, business days and durations
Find the time between two dates, add or subtract durations, and count business days with optional holidays.
- Date
- Duration
- Business days
How to use Date Calculator
- Pick a Time zone at the top. Dates and times you enter are read as wall-clock time in that zone.
- Choose Difference and set Start and End to see the time between them in years, months, days, hours, minutes and seconds, plus exact totals. Swap dates reverses them.
- Choose Add / subtract, set Start, pick Add or Subtract and fill in any of Years, Months, Weeks, Days, Hours, Minutes and Seconds.
- Choose Business days, set Start date and End date, pick a Weekend and optionally list Holidays to count working days. Enter a number under Add business days to find the working day that many days later or, if negative, earlier.
- Use Copy share link to share the calculation, including the holiday list.
How it works
Times are converted to instants with the browser’s Intl time zone data, so daylight saving changes in the chosen zone are taken into account. A Difference is broken down on the wall clock: whole months are counted first, then the remaining days, hours, minutes and seconds. The totals (days, weeks, hours, minutes, seconds) are exact elapsed time. If a daylight saving change falls in the range, a note shows how much the two differ.
Add / subtract works like the upcoming JavaScript Temporal API. Years and months move the calendar date, and if the day doesn’t exist in the target month it is clamped to the month’s last day (31 January + 1 month is 28 or 29 February). Weeks and days move whole calendar days and keep the same clock time, even across a daylight saving change. Hours, minutes and seconds are added as exact elapsed time. If the result lands in a daylight saving gap, it is moved later and a note says so.
Business days uses dates only. The count includes both the start and end date, like a spreadsheet’s NETWORKDAYS, and skips weekend days and holidays. Add business days works like WORKDAY: the start date itself doesn’t count, and 0 returns the start date.
Limits
- Duration fields take whole numbers only, up to 1,000,000 each. Results of Add / subtract must fall in the years 1–9999.
- Business day counts are limited to ranges of 366,000 days (about 1,000 years), and Add business days to ±100,000 working days.
- Holidays must be written as
YYYY-MM-DD, one per line or separated by commas or semicolons. Text after a date is ignored, as are lines starting with#. Other lines are listed as invalid and skipped. - There are no built-in public holiday calendars; only the dates you enter are skipped. Weekends can be Sat–Sun, Fri–Sat, Sun only or none.
- Time zone names and daylight saving rules come from your browser, so very old or future rule changes are only as accurate as its data.
Privacy
All calculations run in your browser. Nothing you enter is uploaded or saved. Copy share link puts your dates, durations, settings and holiday list in the link’s # fragment, which browsers don’t send to servers, so anyone you give the link to can see them.
Frequently asked questions
Why does adding 1 month to 31 January give the end of February?
February has no 31st, so the day is clamped to the last day of February. That is also why adding a month and then subtracting one doesn’t always bring you back to the start date.
Is 1 day the same as 24 hours?
Not across a daylight saving change. Adding 1 day keeps the same clock time on the next day, which can be 23 or 25 real hours. Adding 24 hours adds exactly 24 hours of elapsed time.
Are the start and end dates included in the business day count?
Yes, both are counted, like NETWORKDAYS in a spreadsheet. Add business days is different: like WORKDAY, it starts counting from the day after the start date.
Does it know public holidays?
No. Paste your own holiday dates as YYYY-MM-DD, for example 2025-12-25 Christmas, one per line. Holidays that fall on a weekend aren’t counted twice.
Why does the difference say 1 month and 1 day from 31 January to 1 March?
Months are counted first by moving the start date forward a month at a time, with month-end clamping. 31 January plus 1 month is the end of February, and 1 March is one day after that.
More tools
- Clean Image: Inspect and remove hidden image metadata
- JWT Decoder: Decode and verify JSON Web Tokens
- Diff Checker: Compare two texts line by line
- JS Runner: Run JavaScript and TypeScript in your browser
- JSON Formatter: Format, validate and minify JSON
- Encode / Decode: Base64, URL, HTML entity and hex
- Hash Generator: MD5, SHA and HMAC of any text
- UUID Generator: Generate UUID v4 and v7 in bulk
- Timestamp Converter: Unix time ↔ human dates
- Regex Tester: Test regular expressions live
- URL Parser: Break a URL into its parts
- HTTP Status Codes: Look up any HTTP status code
- MIME Type Lookup: File extension ↔ MIME type
- Password Generator: Strong random passwords and passphrases
- Random String Generator: Random tokens, IDs and keys
- Slug Generator: Turn titles into URL slugs
- Case Converter: camelCase, snake_case, Title Case and more
- Word Counter: Count words, characters and reading time
- JSON to TypeScript: Generate TypeScript types from JSON
- JSON Diff: Compare two JSON documents structurally
- JSON to SQL: Turn JSON arrays into SQL inserts
- YAML ↔ JSON: Convert between YAML and JSON
- XML ↔ JSON: Convert between XML and JSON
- CSV ↔ JSON: Convert between CSV and JSON
- CSV Viewer: View, sort and filter CSV files
- SQL Formatter: Format and beautify SQL queries
- cURL ↔ Fetch: Convert cURL commands to fetch and back
- Markdown Editor: Write Markdown with a live preview
- Text Cleaner: Remove duplicate lines, empty lines and extra spaces
- Find & Replace: Find and replace in any text
- Cron Expression Builder: Build and explain cron schedules
- User-Agent Parser: Identify browser, OS and device from a user agent
- HTTP Headers Inspector: Paste response headers and get them explained
- JWT Generator: Create and sign test JSON Web Tokens
- Certificate Inspector: Decode PEM certificates and keys
- Meta Tag Inspector: Check a page's SEO and social tags
- UTM Builder: Build campaign URLs with UTM parameters
- URL Cleaner: Strip tracking parameters from links
- Robots.txt Generator: Create and test a robots.txt file
- Sitemap Generator: Create an XML sitemap from a list of URLs
- Image Compressor: Shrink JPEG, WebP and AVIF images in your browser
- Image Resizer: Resize images by pixels, percentage or to fit a box
- Image Converter: Convert between PNG, JPEG, WebP and AVIF
- Image to Base64: Encode images as Base64 data URIs and decode them back
- SVG Optimizer: Minify and sanitize SVG files
- Favicon Generator: Make favicon.ico, Apple and Android icons from an image or emoji
- Color Converter: HEX, RGB, HSL, OKLCH and contrast checks
- Number Base Converter: Binary, octal, decimal, hex and float bits
- IP / CIDR Calculator: Subnets, masks and IP ranges for IPv4 and IPv6
- JSONPath Query: Query JSON with JSONPath expressions
- JSON Schema Validator: Validate JSON against a schema, or generate one
- Semver Checker: Check versions against semver ranges
- chmod Calculator: Unix permissions: rwx ↔ octal
- .env Diff: Compare and validate .env files
- TOTP Generator: Generate and verify 2FA codes
- String Escaper: Escape and unescape strings for any language
- Unicode Inspector: See every character, code point and hidden symbol
- Mock Data Generator: Generate realistic fake data
- QR Code Generator: Create QR codes for links, Wi-Fi and contacts
- Lorem Ipsum Generator: Placeholder text in paragraphs, sentences or words
- Unit Converter: Convert bytes, lengths, weights, temperatures and more
- Query CSV with SQL: Run SQL queries on CSV files
- PDF Merge & Split: Merge, split, reorder and rotate PDFs
- PDF Metadata Cleaner: See and remove hidden PDF metadata
- Office Metadata Cleaner: Remove author and revision data from Word, Excel and PowerPoint
- Images to PDF: Combine images into one PDF
- Image Editor: Crop, rotate, resize and adjust images
- Encrypt / Decrypt Text: Encrypt text with a passphrase (AES-GCM)
- SSH Key Generator: Generate Ed25519 and RSA SSH keys locally
- Email Header Analyzer: Trace an email's path and check SPF, DKIM and DMARC
- JSON to Code: Generate Go, Python, Rust, Java, C# and Kotlin models from JSON
- docker run ↔ Compose: Convert docker run commands to docker-compose and back
- Color Palette Extractor: Pull the dominant colours out of any image
- Password Strength Checker: How long would your password take to crack?
- SPF / DKIM / DMARC Checker: Validate and explain email DNS records
- Kubernetes YAML Checker: Validate and explain Kubernetes manifests
- .gitignore Generator: Build a .gitignore from presets
- CSP Builder: Build and check a Content-Security-Policy
- JSON-LD Generator: Create schema.org structured data
- Open Graph Image Generator: Make 1200×630 social preview images
- CSS Generator: Gradients, shadows, clamp() and more
- Time Zone Meeting Planner: Find meeting times across time zones