BEST OF MY STUFF -Valentin Hristov

(old and new)

(under construction)

If you need some help, please, send me a message.

E-mail: or

Some of the items are taken from my old web page (2002), University of Zimbabwe in Harare.

Perpetual Calendars

Happy New Year 2024 !!!

You can downoad this my unusual spiral calendar for 2024 as a PDF file for printing !!!

You can downoad an Excel file with different variants for 2024!

Below on the page you will find many variants of FLAT RECTANGULAR PERPETUAL CALENDARS
with movable components. They are easily prepared in Excel.
Every such calendar can be converted to CONICAL, CYLINDRICAL, PRISMATICAL, or FLAT CIRCULAR one.


A Paper Cup prismatic perpetual calendar with separated months, 14 vertical dates, and Bob's idea for horizontal decades for the years.
The picture is of the Bulgarian Monday variant (PDF file).
You can download also the English Sunday variant (PDF file) or the English Monday variant (PDF file).
If your printer is B&W, use markers to indicate leap centuries and years.


Recently Bob shared with me modified horizontal calendar variants (B&W and Col) of convenient "cylinder in prism" (not published yet on his page).
With his permission I used Excel to publish here my Cylindrical Annual Perpetual prismatic (B&W) variant in Bulgarian (PDF file) - See the pictures!.


The third person in our calendar group Telmo shared his "accordion" variant with separated months with 28-29-30-31 days:

Above you can see also my improved desk variant with the picture of the author. Added are more years (from 1916 to 2099).
You will be able to change the picture and to add some text in this Excel file.


A newly converted old flat variant to a Cylindrical Month Perpetual Julian and Gregorian Calendar (PDF file)

(October 2022)

In 2021 some difficulties appeared when I attempted to prepare conical and circular variants.
For me this was somehow time consuming since in both cases precise editing of circular text had to be done.
Therefore only a few examples are given for these types.


Cylindrical Annual Perpetual Julian and Gregorian Calendar with gathered quarters (PDF file).

January + February + March combined - 2022 (common year)

First quarter for leap years is added and is visible on the left.
A table for finding "First of March Day of Week" (Tuesday in 2022) is hidden on the inner part of this and the next calendar.
The whole year is presented!


I extended a Bob's idea to arange consecutive months to be adjacent by using two rows of months. This allows
to have two chains of 31-30-31-30-31 days, namely Mar-Jul (visible on the picture) and Aug-Dec.
Conical or Pyramidal Annual Perpetual Julian and Gregorian Calendar with Adjacent Months(PDF file).
January 2022
There is also a Cylindrical or Prismatic variant.(PDF file)
Newer Cylindrical or Prismatic variants with week starting on Sunday or Monday (PDF).


Conical or Pyramidal Perpetual Annual Julian and Gregorian Calendar (PDF file).
A table for finding "First of March Day of Week" is hidden on the inner cone. The whole year is presented!
This calendar resembles the first picture on the main Wikipedia page for Perpetual Calendars.

December 2021

Conical Perpetual Julian and Gregorian Month Calendar (PDF file).

December 2021

An advantage is that the outer part contains only one Month Calendar visible from all sides.
The size of the fonts and the hight of the rows are variable - proportional to the radius.
The two steps are hidden on the inner cone (see the PDF file above) and the aim is to find "First of Month Day of Week".
First step is to remember the Key Letter at the crossing of the row with the Century - CO(ld) or CN(ew) -
and the Year in the century. For years 28-99 subtract 28,56, or 84 to have number between 00 and 27.
Second step is to find "First of Month Day of Week" at the crossing of the remembered Key Letter and the Month.

Conical Gregorian calendar (1900-2099) (PDF file).

September 2021

Align "Month <> Year". Add the existing years (00-27) to some of the indicated initial years of the 28 years periods for 1900-2099.
For convenience one of the initial years is 2000.

Next a Conical Perpetual calendar is shown (PDF file).

October (letter B) 2021

Put Month letter at the crossing of the Century (Old or New Style) and Year in the century.
Add 00, 28, 56 or 84 to the existing years (00-27).

Again letters for the months are used in the following
!!! Circular Perpetual Julian and Gregorian calendar (PNG file)

Print twice, cut a smaller central circle between DW and DT, and rotate it over the big circle.
In the sector with the Century - (CO)ld or (CN)ew style - remember the letter corresponding to the month.
Align by rotation the remembered letter from the smallest inside ring with the year in the century YC from the outside ring.

Similar calendar but with three circular parts has been patented by Telmo Ghiorzi.
He was the person who challenged me to make the above variant with Only Two Circular Parts.
Thank you, Telmo!
A cylindrical variant of this calendar as well as other cylindrical calendars exist as separate
worksheets in the following Excel file.

!!! Cylindrical Perpetual Julian and Gregorian calendars (Excel file)

First of all I am very thankful to Bob Goddard!
Our colaboration with him proved to be very successful for constructing Cylindrical Calendars.
He produced recently a beautiful Calendar Pencil Cup (see it on his page).
While preparing cylindrical calendars (Excel) I shared and discussed them with Bob and Telmo.
Among the many variants there are such with 7, 14, 21, or 28 columns, but I include
in the Excel file only a few of them.

An old example at the bottom of this page under "Miscellaneous" is my Moon phase calendar.
The zip file contains three PDF pages, instruction, and a picture.
The outer and the middle cylinders serve as a Perpetual Cylindrical Calendar with 28 columns.
Example of 28 columns cylindrical calendar is also Bob's one.

Here are the pictures of one of the variants in the new Excel file above.
It is a cylindrical version with 7 columns of the circular calendar with 7 sectors shown above.

Next pictures show another cylindrical calendar with 21 columns.
It has the advantage that the calendar is seen from all directions.

I also converted an old whole year perpetual flat rectangular calendar to cylindrical and included it in the Excel file above.
For convenience the current month could be additionally indicated by an elastic band as shown:
September 2021.

If someone is interested to share our hobby - calendar constructions - please, contact one of us (Valentin, Bob, or Telmo).


Minimized Perpetual Julian and Gregorian calendar with visual instrctions and an example for October 2019.
Check that K!=FR for January in the leap year 2024 and that the first row in the middle part is valid - Year 2024 starts on Monday!
It is convenient to mark the row for the current month by a paper clip on a printed calendar.
Year 2020 is somehow "special". There is no need to remember K! since the year in the centry is in the same column as the full century new style and you can use directy the rows containing the months! (Such years are also 1964, 1970, 1981, 1987, 1992, 2009, 2015, 2026, 2037, 2043, 2048, etc.)

Next two calendars show ONLY SUNDAY (without days of week!):


This is a modified extended version of a calendar by Leonardo Diez


Improved short and extended version of the previous calendar which includes additionally the centuries for Julian and Gregorian calendar.
You can fold vertically and hide the centuries.

Adopted for 2021 and better looking variant of my paper for the ZIMaths magazine with easy explanations (original paper) (HTML format)

A calendar table (DOS text format)
Calendar formulae (DOS text format) (or a PDF suitable for printing)

!!! Whole year face (compact) or zip (Excel format) *
 (A Swedish firm used this construction for advertisment - see this picture)
Whole year face (all months fully shown) (see a picture) (Excel format) *
One month face _(PDF format) *
 * - These three calendar constructions are with internal sliding part and you will have to print, cut, and glue their two parts.

Table 1 (73 KB) or zip (13 KB) (Excel format)
Table 2 (28 KB) or zip (7 KB) (Excel format)

Universal calendar: My initial Text variant is seen below, but better looking variants are in Excel, or PDF, or PNG, or Plain TEX, or DVI formats.

                      UNIVERSAL  CALENDAR
                  Valentin Hristov (Bulgaria)
                |       YEAR IN CENTURY       |  Initial transition
                +-----------------------------+  OLD STYLE   ->   NEW STYLE
                | 00? 01  02  03      04* 05  |  Oct 4, 1582 -> Oct 15, 1582
                | 06  07      08* 09  10  11  |  (Thursday)  -> (Friday)
                |     12* 13  14  15      16* |
                | 17  18  19      20* 21  22  |  In Bulgaria
   1. Intersect | 23      24* 25  26  27      |  OLD STYLE    ->  NEW STYLE
       YEAR IN  | 28* 29  30  31      32* 33  |  Mar 31, 1916 -> Apr 14, 1916
       CENTURY  | 34  35      36* 37  38  39  |  (Thursday)   -> (Friday)
    and MONTH ! |     40* 41  42  43      44* |
                | 45  46  47      48* 49  50  |
    Remember K! | 51      52* 53  54  55      |  2. In the row with the FULL
     (Key day!) | 56* 57  58  59      60* 61  |     CENTURY find the COLUMN
                |     68* 69  70  71      72* |     with the Key day K!
                | 73  74  75      76* 77  78  |
                | 79      80* 81  82  83      +---------------- ---------------+
                | 84* 85  86  87      88* 89  |          FULL CENTURY          |
  +-------------+ 90  91      92* 93  94  95  +---------------+----------------+
  |    MONTH    |     96* 97  98  99          |   OLD STYLE   |    NEW STYLE   |
  |     Jun     | Mon Tue Wed Thu Fri SAT|SUN|| 1  8 15 22 29 |                |
  | Dec Sep     | Tue Wed Thu Fri SAT|SUN|Mon | 2  9 16 23 30 |    18 22 26 30 |
  | Jul Apr JA* | Wed Thu Fri SAT|SUN|Mon Tue | 3 10 17 24 31 |                |
  | Oct     Jan | Thu Fri SAT|SUN|Mon Tue Wed | 4 11 18 25    | 15 19 23 27 31 |
  |     May     | Fri SAT|SUN|Mon Tue Wed Thu | 5 12 19 26+---+ 16*20*24*28*32*|
  | Aug     FE* | SAT|SUN|Mon Tue Wed Thu Fri | 6 13 20 27|All|                |
  | Nov Mar Feb ||SUN|Mon Tue Wed Thu Fri SAT | 7 14 21 28| * | 17 21 25 29 33 |
                |         DAY OF WEEK         | DATE IN MONTH |
                3. Use the remembered COLUMN with the DAYS
                   OF WEEK and the DATES IN MONTH to have a
                   MONTH CALENDAR !!!

  D E T A I L E D   I N S T R U C T I O N

  All steps use the central rectangle with the names of the days of the week.

  1. Intersect the horizontal row containing the month (left) and the vertical
   column containing the year in the century (above) to find the key day K!
   Remember K! just as a symbol to used in Step 2.
   (Be careful if the month is January or February. For leap years use JA* and FE*.
    See the Note: below.)
  2. Find the full centuries (right) in one of the rectangles in accordance
   with the style - OLD (JULIAN) or NEW (GREGORIAN).
   In the horizontal row with the centuries find the key day K! from Step 1.
   Remember the column (in the central rectangle) which contains K! for Step 3.
  3. The rectangle, used in Step 2 for old style centuries, is now used for
   the dates in the month.
   Together with the column remembered in Step 2 it gives the month calendar, so,
   to find the day of the week, intersect the horizontal row with the date
   in the month and the remembered column. 

  Note: LEAP YEARS (denoted by *) in the old as well in the new style are those,
   which can be divided by 4 without remainder.
   EXCEPTIONS exist only in the NEW STYLE:
   EXACT CENTURIES (years ending 00), which cannot be devided by 400 without
   remainder, are NOT LEAP.


A compact variant of the above calendar.
1. Remember the letter (A to G) to the left of the month. Find it in the row with the year in the century. Remember the column! (Presented are only the years from 00 to 27, but you can add 28, 56, or 84, to have any of the other years from 28 to 99.)
2. The remembered column contains the days of week and together with the dates (right down) they give directly the month calendar for years between 2000 and 2099.
3. For other full centuries use left down part for Gregorian style or right down part for Julian style. A Key day K! is at the intersection of the remembered column with the boxed row (with 16,20,24,28,32 on the left).
In the row with the full century (old or new style) the Key day K! determines the desired column with days of week for the month calendar.


The same compact perpetual calendar with graphical instructions (download Excel variant with extended year range 00-99):


An "exotic" minimized variant of the previous calendar (PDF). It is more complicated in use since at one place are gathered the dates in the month, the years in the century, and the full centuries old style. This forces using colors and more steps which are not so obvious. Therefore, if you need some help with the graphically presented algorithm, please, contact me via the above e-mail addresses.
I made this calendar after I accidentally spotted a similar calendar at Al Stanger's page and I decided to improve it with the possibility a whole month calendar to be seen at once instead of finding the day of week for a single date only.


Different levels of gray are used for this modified variant of the previous calendar (suitable for printing on B&W printers). Here is the detailed instruction:

1. Start with the Reduced Year in the Century (RYC=00 to 27 to the right of the central square with the DOWs. i.e. for years bigger than 27, subtract 28, 56, or 84) (RYC is the remainder when the last two digits of the year are divided by 28).
2. Intersect the row with RYC (right) with the column with its RYC Gray color level (above) and remember the new Gray color G1 (or the corresonding Key day of week K1).
3. Intersect the row with the Month M (left) (Be careful with JAN and FEB in leap years !) with the column with G1 (K1) (above) and remember a second Gray color G2 (or the corresonding Key day of week K2).
4. Next the Full Centuries FC (first two digits of the year) are involved in a different way:
For the new (Gregorian) style FCN use the most right part of the table.(Note that exact centuries - ending 00 - are leap if they are divisible by 400).
For the old (Julian) style FCO use the part with RYC (FCO=RYC ). (All exact centuries are leap)
In the row with FC find the Column with DOWs containing G2 (K2). Use it together with the Dates (=RYC=FCO) as the MONTH CALENDAR !!! (Plain TEX format) - unzip in a separate directory. You can run two .bat files and view other two .dvi files.
Other calendar variants and experiments (in bulk - zip) (DOS, Excel, Basic)

There are many web pages related to calendars, but I decided to give here only one link as a suitable starting point for calendars:


All possible year tables on one folded sheet for your pocket (PDF-A4 variant as PocketMod design)(How to fold). The week in it starts on Monday and each row contains 3 months. There is also a PDF-Letter variant. The Excel source contains all four variants without PocketMod on one sheet - 1) the week could start on Sunday or Monday and 2) the rows could have 3 or 4 months. If you want to make a PocketMod booklet, you have to prepare first a pre-PocketMod worksheet with 8 pages as the second worksheet in the .xls file. Then use printing with some kind of PDF creator to have a file like this one. The final step is to use the PDF to PocketMod convertor to produce only one A4 or Letter format sheet for cutting and folding. (Note that to be able to run "PDFtoPocketMod.exe" you need to download Microsoft Net Framework !!!)

Using "division by 5.6" with a calculator:
Here some modifications of Al Stanger's algorithms for finding the DayOfWeek are presented. You can search on the archive of a Calendar Mailing List (search "Al Stanger"). The algorithms use only the first two decimal digits of "division by 5.6".
My favorite files for downloading: DAY ( DDAYYYY/5.6, see some explanations and an easy way to memorize the key values), also a variant as DAY-Box for pens.


Simplified 4-years calendar tables - (Excel variants - card size + 1912-2083 calendars)

The idea from the above tables is used for a suitably minimized variant of a perpetual calendar - (Excel variants - card size + full pages)

A combination of four years calendars for 2012-2039 plus compact 1916-2083 calendar ( PDF variant for printing and Excel variant for editing)

(December 2017) Unusual diagonal construction of a calendar (Excel variants)


You can subscribe to the Sundial Mailig List or at least to visit its archive with messages.

Quadrant sundial (PostScript format) Find new variants (2017) for DeltaCad at the bottom of the page!!!
Analemma - Equation of Time vs. Declination of the Sun (PostScript format) - renewed version of my old file with average data for 2000-2047 (due to Gianni Ferrari).
(2009) You can print this data as month tables and also as approximation formulae in PocketMod variant (explaned in the calendar section above) in two formats: A4 and Letter.

The files to the end of this section are written as macro files for DeltaCad (CAD extension of BASIC). You have to download the program from There is a DEMO version on it.

One of the active members of the Sundial Mailing List - Carl Sabanski - put in November 2007 on his web site a few pages with existing DeltaCad macro files related to sundials written by different people and, in particular, MY MACRO FILES from this page. You will find screen shots, instructions, comments and other useful information on these pages and therefore I highly recommend visiting them !!! I am very grateful to Carl for our fruitful joint work and for popularizing DeltaCad as a suitable drawing tool for sundials !!! (Below "CS" indicates links to pages on Carl Sabanski's site.)

Spider Polar Sundial (details CS). My friends Todor and Daniela helped me to convert this macro to a real dial with diameter 66cm:

A bigger view and the dial face are included in this zip file.

Spider Sundial with perpendicular gnomon (details CS). In particular it can be Azimuthal Dial (if the plane is horizontal).
Spider Sundial with arbitrary plane and arbitrary gnomon - shows local, civil and daylite savings time. Contains also the previous two types as options. (details CS)
Spider Polar Square Sundial (details CS)

Foster-Lambert Sundial (details CS)

Box Folding Sundials

Some of my Box Sundials can be downloaded also from the DeltaCad web page of The North American Sundial Society.

Polar Box Sundial (details CS)
Box Sundial with arbitrary orientation (read some instructions) (details CS)
Polar Nodus Box Sundial - you have to print two dials (one for 21Dec-21Jun and another for 21Jun-21Dec) (details CS)
Polar Box Sundial with gnomon - based on the previous dial, but the gnomon allows to use it during the whole year (one of the ends is used as nodus for 21Dec-21Jun and the other for 21Jun-21Dec, i.e. the analemma is splitted) (details CS)

In this picture the time is approximately 14:30 Daylight Savings Time (DST) on 8 May in the upper part. In the lower part you can see that the position of the sun will be the same at approximately 14:40 DST on 5 August.
The size of the box is 66 x 81 x 16 mm when printed landscape on A4 paper. After folding it becomes a rectangle with dimensions only 33 x 81 mm.

Horizontal Box Altitude Sundial which uses the height (altitude, elevation) of the Sun to show the time (details CS)
Modification of the Horizontal Box Altitude Sundial (January 2008) which shows only one month for better reading (details CS)
(February 2009) Double Box Altitude Sundial Another modification of the Horizontal Box Altitude Sundial (January 2008) with the edge of the middle wall between two adjacent boxes as a gnomon.
(2012) The same sundial was modified by Fabio Savian and was included in his - Gnomolab - Paper sundials - App 8 (use the slider).

Wee-Meng Lee from Singapore pointed out to an existing origami box construction which is applicable also to my box sundials. He also put on his page some of my sundials.

More Sundials

In the end of 2006 I made a DeltaCad macro with improvement of a design made by Wee-Meng Lee of a
Universal Ring Dial (details CS)
Now the hour scale can be adjusted for the Longitude and the Equation of Time.

Polar Cross Sundial (test variant - April 2007) (details CS)

Sundial with Parallel Gnomon and arbitrary position (test variant - May 2007) (details CS)

Classical Bifilar Sundial with two perpendicular gnomons parallel to the dial plate and with arbitrary position (test variant - December 2007) (details CS)


Cylinder Sundial (Type 1) with arbitrary position. A beam of light through a hole at its surface gives the time inside the cylinder (January 2008) (details CS)
Cylinder Sundial (Type 2) with arbitrary position. A beam of light through a concentric hole or a nodus point at its base gives the time. It can be read from inside the cylinder or from outside (if the cylinder is transparent). (September 2008) (details CS)
(2009) Flag Combo: Sun Compass and Sundial Allows to find first the North-South direction and then to read the Local Time. Longitude and EoT corrections are printed on it. You can download directly a PDF file with instructions.
(2009) Polar Half-Cylinder The Light-Shadow boundary indicates the Civil Time and DST.
(June 2009) Sun Position - Represents hour and date lines vs. the azimuth and the height of the sun.
(August 2009) Star and Sun Clock for the Northern Hemisphere - An essential extension of my Star Clock (below) with the pozition of the sun among the stars (the ecliptic).
(August 2009) contains the previous "Star and Sun Clock" and also a file StarSunZ.bas with added drawings of the zodiacal constellations ("Z" for Zodiac). The drawing resembles an astrolabe with "overhead" view which is a standard for the star maps. Unzip all files in one directory. Read the instruction for use and printing in the beginning of the file.
(September 2009) Sundial correction is a modification a Fer de Vries' macro. It shows the total correction, i.e. the Equation of Time + the Longitude correction in both Civil and Daylight Savings Time.

Quadrant sundials

(October 2017) Quadrant sundial for the whole year. See a picture.
(October 2017) Quadrant sundial for any separate month. The reading of the time is much more easier and accurate! (picture)


!!! Cylindrical Perpetual Calendar with Moon Phases (PDF) (download this zip file with instructions and see a January 2024 picture .)
Moon Phases Calendar (nomograph) (See the picture.)
Star Clock for the Northern Hemisphere