# Date interval sorter

World's simplest time tool
With this browser-based application, you can sort a list of calendar date intervals. You can rearrange the date intervals in order from the earliest to latest, from the latest to earliest, from the shortest to longest, from the longest to shortest, or just mix them up in random order. If any of the intervals are duplicated, then you can find and remove them. Additional options let you display the duration of each interval, customize the date format, remove the clock time part, and adjust the zero padding of date components. Created by computer nerds from team Browserling.

We put a browser in your browser!
Browserling

Check out our project Browserling – get a browser in your browser.

A link to this tool, including input, options and all chained tools.

## What is a date interval sorter?

learn more about this tool
This is a quick online utility for sorting multiple date intervals. You can paste a list of multiple date intervals as the input and get a sorted list of intervals as the output. A valid date interval has two ISO 8601 format dates that are dash separated and look like this: "YYYY-MM-DD - YYYY-MM-DD", where the first date is the starting date and the second date is the ending date. For example, an interval "2022-07-10 - 2022-10-10" has a duration of 3 months. Both dates in an interval must be separated by a dash that's surrounded by spaces " - ". Each date must not contain any additional spaces between the date components and must be formatted exactly like this: "YYYY-MM-DD". The program also accepts a single calendar date "YYYY-MM-DD". For example, a calendar date "2022-10-15" has a duration of 0 days (it's the same as "2022-10-15 - 2022-10-15", which is the same day). Optionally, the dates can also contain a clock time part in the format "YYYY-MM-DD hh:mm:ss". For example, "2022-10-25 12:30:45". As soon as a vertical list of date intervals is loaded into the input field, the program will immediately sort all intervals according to the selected sorting mode. There are five different sorting modes. The first two rearrange the intervals in order from the earliest to latest or vice versa from the latest to earliest. In this case, the sorting algorithm compares the start dates of all intervals and displays them from smallest to largest. The second two modes sort the intervals by their length: from the shortest interval to the longest one or vice versa. In this case, the program finds the time difference between the interval end and start values and then arranges the intervals according to this duration. The last sorting mode is random and it simply shuffles all the intervals in the list and outputs them in random order. Additionally, the program can print the duration of each interval on the screen and remove repeated date intervals from the list (printing only the unique date intervals). Several more extra options can adjust the date format for the sorted intervals, switch the clock time part to 12-hour format or remove the clock time part altogether (if it's present). Finally, you can add or remove the zero padding to the date components. Timeabulous!

## Date interval sorter examples

Click to useEarliest to Latest Dates

In this example, we sort a list of calendar date intervals in order from the earliest to latest. The interval sorting algorithm takes the start dates from each interval, compares them, and arranges the intervals in order from the earliest date to the latest date. We also disable printing the time part of the intervals and make the date format of output intervals have the same format as they were entered in the input.

2021-02-21 - 2029-04-08
2020-10-30 - 2026-04-27
2026-11-23 - 2028-04-24
2023-10-19 - 2024-10-12
2023-05-03 - 2024-05-06
2022-11-10 - 2024-12-05
2021-01-29 - 2028-04-16
2023-07-13 - 2024-09-04
2020-12-28 - 2023-02-20

2020-10-30 - 2026-04-27
2020-12-28 - 2023-02-20
2021-01-29 - 2028-04-16
2021-02-21 - 2029-04-08
2022-11-10 - 2024-12-05
2023-05-03 - 2024-05-06
2023-07-13 - 2024-09-04
2023-10-19 - 2024-10-12
2026-11-23 - 2028-04-24

**Required options**

Sort date intervals by earliest date.

Print the length of each
date interval.

Print only non-repeated date
intervals.

Display intervals without
the clock time part.

If the date contains clock time,
use a 12-hour format for it.

Display sorted intervals with
padded date components.

Longest to Shortest Intervals

This example calculates the length of each interval and outputs a sorted list with intervals going from the longest one to the shortest one. If an interval contains only the start date (called a single-point interval), then its length is 0 days and it's the shortest possible interval. The program also displays the duration of each interval in parentheses and removes the repeated intervals that are identical. The intervals are also re-formatted and converted to abbreviated text format without the clock time part and without padding.

2000-07-30 - 2026-11-30
2000-07-30 - 2026-11-30
2005-07-23 - 2033-08-11
2003-12-09 - 2018-03-04
2039-07-31 - 2041-12-03
2037-06-27 - 2047-03-16
2033-05-08 - 2034-03-01
2021-07-12 - 2021-08-01
2021-07-12 - 2021-08-01
2030-03-26 - 2048-06-03
2014-10-15 - 2040-05-04
2010-05-01

Jul 23, 2005 - Aug 11, 2033 (28y 19d)
Jul 30, 2000 - Nov 30, 2026 (26y 4mo)
Oct 15, 2014 - May 4, 2040 (25y 6mo 19d)
Mar 26, 2030 - Jun 3, 2048 (18y 2mo 8d)
Dec 9, 2003 - Mar 4, 2018 (14y 2mo 23d)
Jun 27, 2037 - Mar 16, 2047 (9y 8mo 17d)
Jul 31, 2039 - Dec 3, 2041 (2y 4mo 2d)
May 8, 2033 - Mar 1, 2034 (9mo 21d)
Jul 12, 2021 - Aug 1, 2021 (20d)
May 1, 2010 (0d)

**Required options**

Sort date intervals by longest duration.

Print the length of each
date interval.

Print only non-repeated date
intervals.

Display intervals without
the clock time part.

If the date contains clock time,
use a 12-hour format for it.

Display sorted intervals with
padded date components.

Random Date Interval Order

In this example, we shuffle a list of date intervals using the random sorting option. All start and end dates in the intervals use the ISO 8601 format "YYYY-MM-DD hh:mm:ss" that includes the time part. In the output, we switch to the North American date format, where the month comes first, followed by a slash-separated day and year: "MM/DD/YYYY hh:mm:ss". We also preserve the time part in the output and convert it to a 12-hour clock format.

2025-12-09 05:16:35 - 2025-12-21 16:32:09
2025-10-18 00:08:22 - 2025-11-07 14:48:30
2025-03-09 05:47:55 - 2025-08-25 19:37:23
2025-03-23 14:44:00 - 2025-10-15 08:37:21
2025-06-03 21:32:21 - 2025-09-09 06:30:22
2025-07-25 15:08:25 - 2025-10-15 11:18:37
2025-01-21 12:04:38 - 2025-10-16 02:35:46

10/18/2025 0:8:22 am - 11/7/2025 2:48:30 pm
1/21/2025 12:4:38 pm - 10/16/2025 2:35:46 am
6/3/2025 9:32:21 pm - 9/9/2025 6:30:22 am
3/23/2025 2:44:0 pm - 10/15/2025 8:37:21 am
12/9/2025 5:16:35 am - 12/21/2025 4:32:9 pm
7/25/2025 3:8:25 pm - 10/15/2025 11:18:37 am
3/9/2025 5:47:55 am - 8/25/2025 7:37:23 pm

**Required options**

Sort date intervals in arbitrary order.

Print the length of each
date interval.

Print only non-repeated date
intervals.

Display intervals without
the clock time part.

If the date contains clock time,
use a 12-hour format for it.

Display sorted intervals with
padded date components.

Pro tips
Master online time tools

You can pass input to this tool via

__?input__query argument and it will automatically compute output. Here's how to type it in your browser's address bar. Click to try!
https://onlinetimetools.com/sort-date-intervals

__?input__=2021-02-21%20-%202029-04-08%0A2020-10-30%20-%202026-04-27%0A2026-11-23%20-%202028-04-24%0A2023-10-19%20-%202024-10-12%0A2023-05-03%20-%202024-05-06%0A2022-11-10%20-%202024-12-05%0A2021-01-29%20-%202028-04-16%0A2023-07-13%20-%202024-09-04%0A2020-12-28%20-%202023-02-20&sort-by-earliest=true&print-duration=false&remove-duplicates=false&remove-time-part=true&format=YYYY-MM-DD%20hh%3Amm%3Ass&use-12-hour-clock=false&padding=true
All time tools

Quickly visualize your life in weeks or months.

Quickly draw an analog clock that shows a particular time.

Quickly draw a digital clock that shows a particular time.

Quickly draw a monthly calendar for any month of the year.

Quickly print a list of neat-looking clock times (such as 10:11:12).

Quickly print a list of neat-looking calendar dates (such as 2055-05-05).

Quickly print a list of symmetric clock times (such as 05:22:50).

Quickly print a list of symmetric dates (such as 2020-02-02).

Quickly convert clock time in H:M:S format to seconds.

Quickly convert seconds to clock time in H:M:S format.

Quickly convert time in 24 hour format to 12 hour format.

Quickly convert time in 12 hour format to 24 hour format.

Quickly find how many seconds have passed since midnight.

Quickly find how many seconds are left till midnight.

Quickly find the difference between two clock times.

Quickly find the difference between two calendar dates.

Quickly find the age difference between two or more people.

Quickly add hours, minutes, and seconds to the given time.

Quickly subtract hours, minutes, and seconds from the given time.

Quickly add days, months, and years to the given date.

Quickly subtract days, months, and years to from the given date.

Quickly change the current time format to any new format.

Quickly change the current date format to any new format.

Quickly round the given clock time up or down.

Quickly round the given calendar date up or down.

Quickly drop seconds and minutes from a clock time.

Quickly drop days and months from a calendar date.

Quickly sort clock times in ascending or descending order.

Quickly sort calendar dates in ascending or descending order.

Quickly sort time intervals by their start time or length.

Quickly sort date intervals by their start date or length.

Quickly check if the given clock time is valid.

Quickly check if the given calendar date is valid.

Quickly find how many hours are in the given days.

Quickly find how many days are in the given hours.

Quickly find the astrological sign by the birthday or any date.

Quickly print a list of the dates of all astrological signs.

Quickly find the average value of multiple clock times.

Quickly find the average value of multiple calendar dates.

Quickly generate a list of random clock times.

Quickly generate a list of random calendar dates.

Quickly create a list of clock times that match your criteria.

Quickly generate a list of calendar dates that match your criteria.

Quickly split the given time period into multiple intervals.

Quickly split the given date period into multiple intervals.

Quickly generate increasing or decreasing clock times.

Quickly generate increasing or decreasing calendar dates.

Quickly print a list of all leap years.

Quickly print a list of all common years.

Quickly test if the given year is a leap year.

Quickly test if the given year is a common year.

Quickly find how old a cat would be if it was a human.

Quickly find how old a human would be if he/she was a cat.

Quickly find how old a dog would be if it was a human.

Quickly find how old a human would be if it was a dog.

Quickly convert a modern Gregorian date to a Julian date.

Quickly convert an ancient Julian date to a Gregorian date.

Quickly calculate the Julian day number for any calendar date.

Quickly convert the Julian day to a regular calendar date.

Quickly print a list of all Easter dates for all years.

Quickly convert a UNIX Epoch time to a human-readable time.

Quickly convert human-readable time to a UNIX Epoch time.

Quickly generate increasing or decreasing UNIX timestamps.

Quickly generate one or more random UNIX Epoch times.

Quickly convert a HH:MM:SS clock to a military HHMM clock.

Quickly convert a military clock HHMM to a HH:MM:SS clock.

Quickly write a clock time in text format (as English text).

Quickly write a calendar date in text format (as English text).

Quickly add slight perturbations to the given clock times.

Quickly add slight perturbations to the given calendar dates.

Quickly find what day of the week the given calendar date falls on.

Quickly find what day of the year the given calendar date falls on.

Quickly find what week of the year the given calendar date falls on.

Quickly calculate the calendar date from a day number of a year.

Quickly find the angle between the hour hand and minute hand.

Quickly print a list of all clock times with a specific hand angle.

Quickly print all dates when a specific day happens.

Quickly find all Fridays that fall on the 13th day of the month.

Quickly create a list of all Independence Day dates.

Quickly create a list of all Christmas Day dates.

Quickly create a list of all New Year dates.

Quickly create a list of all Thanksgiving dates.

Quickly show useful information about a particular clock time.

Quickly show useful information about a particular calendar date.

Quickly draw a timeline of multiple time intervals.

Quickly draw a visualization of multiple date intervals.

Quickly find the time a clock shows if you look at it in a mirror.

Quickly convert time and date from one timezone to another.

Quickly convert time and date from one country to another.

Quickly print the season (winter, spring, summer, autumn) by date.

Coming soon
These time tools are on the way

Draw a Binary Clock

Draw a binary clock that shows time in base two.

Draw a Salvador Dali Clock

Draw a clock in Salvador Dali style showing custom time.

Draw a Weird Clock

Draw a weird-looking clock that shows a particular time.

Animate an Analog Clock

Create a GIF animation of an analog clock.

Animate a Digital Clock

Create a GIF animation of a digital clock.

Animate a Broken Clock

Create a GIF animation of a clock that's broken.

Draw a Daily Calendar

Draw a daily calendar for a single day.

Draw a Weekly Calendar

Draw a weekly calendar for any week of the month.

Draw a Yearly Calendar

Draw a yearly calendar for the entire year.

Draw a Lunar Calendar

Draw a calendar that shows moon phases.

Draw a Solar Calendar

Draw a calendar that shows the seasons and Sun's position.

Create an Animated Timer

Draw an animation that counts down (or up) time.

Animate an Hourglass

Create a GIF animation of a sand clock.

Draw an Infinite Spiral Clock

Animate a timeless clock that goes in an infinite spiral.

Draw Time as a Pie Chart

Visualize the given clock time as a pie chart.

Draw Date as a Pie Chart

Visualize the current year as a pie chart.

Draw Time as a Bar Chart

Visualize the given clock time as a bar chart.

Draw Date as a Bar Chart

Visualize the current year as a bar chart.

Draw Time as a Pixel Wall

Visualize the given clock time as a pixel wall (1px = 1sec).

Draw Date as a Pixel Wall

Visualize the current year as a pixel wall (1px = 1day).

Draw Time as Bubbles

Visualize the given clock time as bubbles.

Draw Date as Bubbles

Visualize the current year as bubbles.

Draw a Time Arrow

Visualize the given clock time as an arrow.

Convert Time to Percentage

Quickly calculate time passed and left in the current day as pct.

Convert Date to Percentage

Quickly calculate time passed and left in the current year as pct.

Convert Time to Binary Time

Convert regular clock time to binary clock time (bintime).

Convert Date to Binary Date

Quickly regular calendar date to binary date (bindate).

Convert Time to Decimal Time

Convert regular clock time to decimal clock time (dectime).

Convert Date to Decimal Date

Quickly regular calendar date to decimal date (decdate).

Convert Time to Hex Time

Convert regular clock time to hexadecimal time (hextime).

Convert Date to Hex Date

Quickly regular calendar date to hexadecimal date (hexdate).

Animate Moon's Phases

Create a GIF animation of the Moon for a particular month.

Animate Moon's Orbit

Create an animation of the Moon orbiting the Earth.

Animate Mercury's Orbit

Create a 88 day animation of the Mercury orbiting the Sun.

Animate Venus's Orbit

Create a 225 day animation of the Venus orbiting the Sun.

Animate Earth's Orbit

Create a 365 day animation of the Earth orbiting the Sun.

Animate Mars's Orbit

Create a 687 day animation of the Mars orbiting the Sun.

Animate Jupiter's Orbit

Create a 4,330 day animation of the Jupiter orbiting the Sun.

Animate Saturn's Orbit

Create a 10,756 day animation of the Saturn orbiting the Sun.

Animate Uranus's Orbit

Create a 30,687 day animation of the Uranus orbiting the Sun.

Animate Neptune's Orbit

Create a 60,190 day animation of the Neptune orbiting the Sun.

Animate Pluto's Orbit

Create a 90,560 day animation of the Pluto orbiting the Sun.

Animate Solar System

Create an animation of all planets in the Solar System.

Animate Mars's Moons

Create an animation of Phobos and Deimos orbiting Mars.

Animate Jupiter's Moons

Animate Io, Europa, Ganymede, Callisto orbiting Jupiter.

Animate Saturn's Moons

Animate Titan, Rhea, Iapetus, Enceladus orbiting Saturn.

Animate Uranus's Moons

Animate Titania, Oberon, Umbriel, Ariel, Miranda orbiting Uranus.

Animate Neptune's Moons

Animate Triton, Nereid, and Proteus orbiting Neptune.

Animate Pluto's Moons

Animate Charon, Nix, Hydra, Kerberos, Styx orbiting Pluto.

Find When Planets Align

Find dates when two or more planets align in a straight line.

Find Dates of Solar Eclipse

Find dates when the solar eclipse happens.

Find Dates of Lunar Eclipse

Find dates when the lunar eclipse happens.

Create a Time Matrix

Represent a clock time as a matrix.

Create a Date Matrix

Represent a calendar date as a matrix.

Create a Time Vector

Represent a clock time as a vector.

Create a Date Vector

Represent a calendar date as a vector.

Visualize Time Series

Draw a time series chart.

Find Overlapping Times

Given a bunch of time intervals, find overlapping intervals.

Generate Overlapping Times

Generate a bunch of overlapping time intervals.

Generate Non-overlapping Times

Generate a bunch of non-overlapping time intervals.

Generate Random Time Intervals

Generate random clock time intervals.

Find Overlapping Dates

Given a bunch of date intervals, find overlapping intervals.

Generate Overlapping Dates

Generate a bunch of overlapping date intervals.

Generate Non-overlapping Dates

Generate a bunch of non-overlapping date intervals.

Generate Random Date Intervals

Generate random calendar date intervals.

Swap Clock Hands

Swap a clock's hour hand with minute hand.

Reverse Clock Time

Find the reverse of the given clock time.

Invert Clock Time

Find the inverse of the given clock time.

Shift Clock Time

Shift the given clock time by any time interval.

Change Clock Scale

Change the clock scale from 24 hours to any other hours.

Generate Valid Clock Times

Generate a list of valid clock times (for testing).

Generate Invalid Clock Times

Generate a list of invalid clock times (for testing).

Generate Valid Calendar Dates

Generate a list of valid calendar dates (for testing).

Generate Invalid Calendar Dates

Generate a list of invalid calendar dates (for testing).

Add Errors to Clock Times

Create errors in the given clock times (for testing).

Add Errors to Calendar Dates

Create errors in the given calendar dates (for testing).

Convert Date to Seconds

Convert a calendar date to seconds.

Convert Seconds to Date

Convert seconds to a calendar date.

Convert English to Crontab

Create a crontab expression from human language.

Convert Crontab to English

Rewrite a crontab entry into human language.

Find Week of the Month

Quickly find the week of the month of a calendar date.

Find Days Since the Start of Year

Quickly find how many days have passed since start of the year.

Find Days Till the End of Year

Quickly find how many days are left till the end of the year.

Find Days Till a Specific Date

Quickly find how many days are left till a specific date.

Convert Seconds To Minutes

Find how many minutes are in the given seconds.

Convert Seconds To Hours

Find how many hours are in the given seconds.

Convert Seconds to Days

Find how many days are in the given seconds.

Convert Seconds to Weeks

Find how many weeks are in the given seconds.

Convert Seconds to Months

Find how many months are in the given seconds.

Convert Seconds to Years

Find how many years are in the given seconds.

Convert Minutes to Seconds

Find how many seconds are in the given minutes.

Convert Minutes To Hours

Find how many hours are in the given minutes.

Convert Minutes to Days

Find how many days are in the given minutes.

Convert Minutes to Weeks

Find how many weeks are in the given minutes.

Convert Minutes to Months

Find how many months are in the given minutes.

Convert Minutes to Years

Find how many years are in the given minutes.

Convert Hours To Seconds

Find how many seconds are in the given hours.

Convert Hours to Minutes

Find how many minutes are in the given hours.

Convert Hours to Weeks

Find how many weeks are in the given hours.

Convert Hours to Months

Find how many months are in the given hours.

Convert Hours to Years

Find how many years are in the given hours.

Convert Days to Seconds

Find how many seconds are in the given days.

Convert Days to Minutes

Find how many minutes are in the given days.

Convert Days to Weeks

Find how many weeks are in the given days.

Convert Days to Months

Find how many months are in the given days.

Convert Days to Years

Find how many years are in the given days.

Convert Weeks to Seconds

Find how many seconds are in the given weeks.

Convert Weeks To Minutes

Find how many minutes are in the given weeks.

Convert Weeks To Hours

Find how many hours are in the given weeks.

Convert Weeks to Days

Find how many days are in the given weeks.

Convert Weeks to Months

Find how many months are in the given weeks.

Convert Weeks to Years

Find how many years are in the given weeks.

Convert Months to Seconds

Find how many seconds are in the given months.

Convert Months To Minutes

Find how many minutes are in the given months.

Convert Months To Hours

Find how many hours are in the given months.

Convert Months to Days

Find how many days are in the given months.

Convert Months to Weeks

Find how many weeks are in the given months.

Convert Months to Years

Find how many years are in the given months.

Convert Years to Seconds

Find how many seconds are in the given years.

Convert Years To Minutes

Find how many minutes are in the given years.

Convert Years To Hours

Find how many hours are in the given years.

Convert Years to Days

Find how many days are in the given years.

Convert Years to Weeks

Find how many weeks are in the given years.

Convert Years to Months

Find how many months are in the given years.

Convert a Bird's Age to Human Years

Find how old a human would be if he/she was a bird.

Convert a Human's Age to Bird Years

Find how old a bird would be if it was a human.

Convert Earth Time to Mars Time

Convert clock time on Earth to clock time on Mars.

Convert Mars Time to Earth Time

Convert clock time on Mars to clock time on Earth.

Generate Equal H:M:S Times

Print a list of clock times with hours equal mins equal secs.

Generate Equal Y-M-D Dates

Print a list of calendar dates with years equal months equal days.

Set Straight Clock Hands

Print a list of all clock times when hands are in a straight line.

Normalize Clock Times

Given clock times in various formats, convert them to one format.

Normalize Calendar Dates

Given calendar dates in various formats, make them the same format.

Rotate Clock Times

Cyclically shift HH, MM, SS time parts to the left or right.

Rotate Calendar Dates

Cyclically shift YYYY, MM, DD date parts to the left or right.

Freeform Time Calculator

Perform freeform clock time arithmetics.

Freeform Date Calculator

Perform freeform calendar date arithmetics.

Calculate Clock Sum

Find the sum of hours plus minutes plus seconds.

Calculate Calendar Sum

Find the sum of years plus months plus days.

Find Clock Sum

Find clock hand position so that hr + min + sec equals your value.

Find Calendar Sum

Find calendar date so that year + months + day equals your value.

Generate Clock Emojis

Print all clock icons from 00:00 to 24:00.

Create Zalgo Time

Generate date and time that only Zalgo can understand.

Subscribe!
Never miss an update

Cool!

Notifications
We'll let you know when we add this tool

Cool!