Thousands of tools! Check out Online Tools – I have now added thousands of tools.
I often have to generate a sequence of calendar dates so I created this simple online utility that does it for me. It lets you generate however many calendar dates you need starting from any date with any time interval between the dates. It works in the browser and is powered by alien technology from the future.
Calendar Date Generator Options
Calendar Date Generator Examples (click to try!)
2021/01/01 00:00:00 2021/02/01 06:00:00 2021/03/01 12:00:00 2021/04/01 18:00:00 2021/05/02 00:00:00 2021/06/02 06:00:00 2021/07/02 12:00:00 2021/08/02 18:00:00 2021/09/03 00:00:00 2021/10/03 06:00:00 2021/11/03 12:00:00 2021/12/03 18:00:00 2022/01/04 00:00:00
12/31/2000 23:59:59; 12/1/1995 22:58:58; 11/1/1990 21:57:57; 10/1/1985 20:56:56; 9/1/1980 19:55:55; 8/1/1975 18:54:54; 7/1/1970 17:53:53; 6/1/1965 16:52:52; 5/1/1960 15:51:51; 4/1/1955 14:50:50; 3/1/1950 13:49:49; 2/1/1945 12:48:48; 1/1/1940 11:47:47; 12/1/1934 10:46:46; 11/1/1929 9:45:45; 10/1/1924 8:44:44; 9/1/1919 7:43:43; 8/1/1914 6:42:42; 7/1/1909 5:41:41; 6/1/1904 4:40:40
Mon, Feb 28, 5600 06:20:40 pm Thu, Mar 10, 5650 07:19:40 pm Sat, Mar 20, 5700 08:18:40 pm Mon, Mar 30, 5750 09:17:40 pm Wed, Apr 09, 5800 10:16:40 pm Fri, Apr 19, 5850 11:15:40 pm Mon, Apr 30, 5900 00:14:40 am Wed, May 10, 5950 01:13:40 am Sat, May 20, 6000 02:12:40 am
Tuesday, 13 January 2026 Friday, 13 February 2026 Friday, 13 March 2026 Monday, 13 April 2026 Wednesday, 13 May 2026 Saturday, 13 June 2026 Monday, 13 July 2026 Thursday, 13 August 2026 Sunday, 13 September 2026 Tuesday, 13 October 2026 Friday, 13 November 2026 Sunday, 13 December 2026
00h00m00s|00h00m40s|00h01m20s|00h02m00s|00h02m40s|00h03m20s|00h04m00s|00h04m40s|00h05m20s|00h06m00s|00h06m40s|00h07m20s|00h08m00s|00h08m40s|00h09m20s|00h10m00s|00h10m40s|00h11m20s|00h12m00s|00h12m40s|00h13m20s|00h14m00s|00h14m40s|00h15m20s|00h16m00s|00h16m40s|00h17m20s|00h18m00s|00h18m40s|00h19m20s|00h20m00s|00h20m40s|00h21m20s|00h22m00s|00h22m40s|00h23m20s|00h24m00s|00h24m40s|00h25m20s|00h26m00s|00h26m40s|00h27m20s|00h28m00s|00h28m40s|00h29m20s|00h30m00s|00h30m40s|00h31m20s|00h32m00s|00h32m40s|00h33m20s|00h34m00s|00h34m40s|00h35m20s|00h36m00s|00h36m40s|00h37m20s|00h38m00s|00h38m40s|00h39m20s|00h40m00s|00h40m40s|00h41m20s|00h42m00s|00h42m40s|00h43m20s|00h44m00s|00h44m40s|00h45m20s|00h46m00s|00h46m40s|00h47m20s|00h48m00s|00h48m40s|00h49m20s|00h50m00s|00h50m40s|00h51m20s|00h52m00s|00h52m40s|00h53m20s|00h54m00s|00h54m40s|00h55m20s|00h56m00s|00h56m40s|00h57m20s|00h58m00s|00h58m40s|00h59m20s|01h00m00s|01h00m40s|01h01m20s|01h02m00s|01h02m40s|01h03m20s|01h04m00s|01h04m40s|01h05m20s|01h06m00s
Wednesday at 00:00:00 am Thursday at 03:03:03 am Friday at 06:06:06 am Saturday at 09:09:09 am Sunday at 12:12:12 pm Monday at 03:15:15 pm Tuesday at 06:18:18 pm
How Does This Calendar Date Generator Work?
This linear calendar date series generator works entirely in your browser and is written in JavaScript. The sequence of calendar dates starts from the startDate
and increases by the interval
amount specified in the options. It operates with universal (UTC) dates and times and uses JavaScript language's built Date
and Date.UTC
objects. The startDate
option may contain either date and time parts (in YYYY-MM-DD hh:mm:ss
format) or just the date part (in YYYY-MM-DD
format). The program uses a smart parsing algorithm to extract all the date and time components from the startDate
value. For the date part, it finds the year, month, and day components, and for the time part, it finds hours, minutes, and seconds components. If the time part has an am/pm indicator, then it converts the hours component to a 24-hour clock. To start generating a list of dates, it creates the variable firstDate
by composing Date
and Date.UTC
objects: new Date(Date.UTC(y, mo, d, h, mi, s))
, where y
is year, mo
is month, d
is day, h
is hour, mi
is minute, s
is second. This makes sure that the firstDate
object uses the UTC timezone. Then, in a similar way, it parses the interval
option and sets up the dateInterval
object. This object contains the parsed interval in years, months, days, hours, minutes, and seconds. If you are generating a descending list of calendar dates, all components of the dateInterval
object are turned into negative numbers via multiplying them by -1. The date generator runs a for
loop count
times (number of dates in the output, specified in options) and each next date is obtained by calling the getNextDate()
function. This function creates a variable nextDate = new Date(prevDate.getTime())
and then updates individual date and time components in it to the next value by calling nextDate.setUTCX(prevDate.getUTCX() + dateInterval['X'])
, where X
is year
, month
, day
, hour
, minute
, and second
. After replacing all the nextDate
components, the function saves the result in another variable called newDate
and replaces the prevDate
object with the nextDate
object. Next, the date in newDate
is formatted according to the desired output format. The formatting is done by repeatedly calling the format.replace(X, newDate.getUTCX())
function with X
being year
, month
, day
, hour
, minute
, and second
. The formatted string is then pushed onto allStrDates
stack and when the for
loop finishes, the stack elements are joined into a long string via the allStrDates.join(separator)
function. Finally, the string is sent to the output area and is printed on your screen.
Created by Browserling
This calendar date generator was created by me and my team at Browserling. Behind the scenes, it's actually powered by our web developer tools that are used by millions of people every month. Browserling itself is an online cross-browser testing service powered by alien technology. Check it out!
Secret message: If you love my tools, then I love you, too! Use coupon code TOOLLING to get a discount at my company.