One year, 2024 in fact, I started thinking what if there was a way to assign a randomly chosen date to celebrate a famous person annually. We do the same thing with well known celebrities whose dates of birth are known. We celebrate the birthday of Dr. Martin Luther King Jr. in the United States that is not necessarily observed on his actual day of birth, which is January 15, every year. We celebrate it on a calculated third Monday of January every year ranging from January 15 to 21. Even though we know his actual day of birth, we could say that King has a floating Calculated Annual Tribute Day to observe the achievements King was famous for, and encouraging readers to look him up and learn about what King has contributed in his lifetime.
Now that was a Calantrib for a well-known famous person whose day of birth is known. We could do a calculated tribute day for King, but it would be pointless since he has a known day of birth.
The date of Easter is computed in concert with the spring equinox and the first full moon appearing after it. The date of Easter is floating, meaning that it can be celbrated on a Sunday after that first full moon on any date between March 22 and April 25 inclusive.
The original first celebration of Easter was in the fourth century A.D., or about 325 A.D. on the Julian Calendar. Due to the drift of the Julian Calendar caused by having too many leap year days per 400 years, the calendar's date of the spring equinox, around March 21, drifted later and later every 133 years because of having three extra leap year days every 400 years according to calculations.
Pope Gregory XIII instituted the calendar reform to realign the calendar by dropping 10 extra days with the help of Christopher Clavius, one of the main authors of the reform of the calendar. Gregory XIII's reform would be to create a calendar that would not only better align with the solar year, but to also proleptically (dates before the Gregorian Calendar was instituted) go back in time to align with the date of celebration of the first celebration of Easter in the 4th century A.D., as well as celebrating Easter in the correct range of days folowing the spring equinox from one day after (March 22) to 35 days after (April 25) on the first Sunday after the first full moon after the spring equinox. When you go back in the Gregorian calendar proleptically, imagining that it existed going back to the fourth century A.D., the dates of Easter on the Gregorian calendar would match the dates of Easter on the Julian calendar during the fourth century A.D.
So thanks to the holiday of Easter Sunday, the Gregorian Calendar, named after Pope Gregory XIII, used Easter in the year 325 A.D. to be the year of reckoning as the basis of calendar reform.
If you go back to the sixth century A.D., the Julian calendar's year of reckoning was based on the year Rome was founded in 753 B.C. In the sixth century, the year 525, Dionysius Exiguus wanted to replace the Diocletian era in the Julian calendar because he didn't want to continue the memory of a tyrant, Roman Emperor Diocletian, who persecuted Christians in the Empire. The Julian Calendar, up to that point, was based on the years since the founding of Rome.
It was then decided that the reckoning year for the Julian Calendar would be based on the years since Jesus was born instead of the year Rome was founded by setting the year of reckoning to 1 B.C., and since there was no year zero, in fact, the digit zero wasn't even invented back then, the following year would be 1 A.D., hence the modern day Julian Calendar, as well as the Gregorian Calendar, have the year of the Lord as the basis of the year of reckoning, and each year would be the years since Christ was born. This is known as the anno Domini era. Usage of the anno Domini reckoning became more common and was in widespread use by the 9th century.
So Jesus Christ was born in 753 UAC (or in the years since Rome was founded) or 1 B.C. according to calculations made in the sixth century; although scholars reasoned that Jesus might have been born between 5 and 2 B.C. (or 749 and 752 UAC), but since the original 1 B.C. year for Jesus for the year of reckoning has been stuck since the sixth century, that's what we use today. By the way: 754 UAC would be A.D. 1 or 1 anno Domini since there was no year zero in the calendar.
Since the sixth century reform of the Julian calendar went from aligning with the years since Rome was founded and the years since Jesus Christ might have been born, and the sixteenth century of the reform of the Julian calendar resulted in the reform as the Gregorian calendar that proleptically aligns the dates of Easter with the fourth century Easter celebrations on the Julian calendar, we could conclude that Jesus solved these two problems.
Now, we come to the mission on how to create a calculation, using the numerical values of the alphabetical characters (with values in sequential order from 1 to 26 for the letters A to Z) to create a calculated annual tribute day for people who don't have well-known dates of birth.
We celebrate the birth of Jesus on the Gregorian calendar each year on December 25. So, what we need to do, is to create a formula that would calculate the annual tribute day for Jesus to be the answer of December 25. Sounds easy? Not so.
I tried using the original alphabetic symbols that existed in 1 B.C., tried introducing the Spanish "ENE" letter, tried all kinds of calculations that were weird by adding numbers to answers, but none of those were appealing.
Add up the values of each of his letters and you get an answer of 151.
Next, to get the month we'll divide 12 into 151 to get the remainder of 7, which matches the month of July. If the answer for the remainder was zero, we would have used 12 for the month of December.
Since July has 31 days in its month, we'll subtract 31 from 151 until we get into the range of 1 to 31.
So now we get an answer of July 27, which is around the time people celebrate Christmas in July.
But we won't stop here!
Now we need to figure out what day of the year is July 27. To do that, since the month is July, well take the day number, 27, and add the number of days from January to June. Like this.
The answer is 208. Now we add 208 to our previous anser of 151 for the value of letters in the name of Jesus Christ and we get the answer of ... 359.
The answer of 359 is the 359th day of the year, which matches the date of December 25. Christmas Day!
Note: in Leap Years, 360 would be the 360th day of the year corresponding to December 25.
So there you go! We have created a formula to calculate an annual tribute day for people with unknown dates of birth.
2. Name that answer as Answer One.
3. Divide 12 into Answer One to get the remainder and use that for the month (if zero, use the number 12 as the answer.)
4. Name that number as Month Answer.
5. Subtract the number of days in the Month Answer until you reach a range of days that are normally in the Month Answer using the chart below.
6. Name that answer as Day Answer.
7. Figure out what day of the year is Month Answer and Day Answer by adding a range of numbers to the Day Answer with this chart.
8. Name that answer as Answer Two.
9. Add Answer One to Answer Two.
10. Name that answer as Answer Three.
To find the date of the year that matches Answer Three, use this method below.
Look at the range of numbers for Answer Three.
To the right, you get the CALANTRIB-MONTH value, which is the month of the year.
To the right of the CALANTRIB-MONTH value is how you would get the day of the month.
Subtract the number indicated from Answer Three to get the CALANTRIB-DAY value, which is the day of the month.
And that is how you can assign a tribute day to a person whose date of birth is unknown.
Jesus is the Answer to solving the problem of people who are missing birthdays.
SUB calculatename
calcname1$ = UCASE$(MID$(buffer(1), 3, 50)) calcname2$ = SPACE$(50) IF INSTR(calcname1$, " (") > 0 THEN calcname2$ = LEFT$(calcname1$, INSTR(calcname1$, " (") - 1) + SPACE$(48) calcname1$ = LEFT$(calcname2$, 50) calcname2$ = SPACE$(50) END IF calcnamevalue = 0 FOR calcnameloop = 1 TO 50 IF ASC(MID$(calcname1$, calcnameloop, 1)) > 64 AND ASC(MID$(calcname1$, calcnameloop, 1)) < 91 THEN MID$(calcname2$, calcnameloop, 1) = MID$(calcname1$, calcnameloop, 1) calcnamevalue = calcnamevalue + ASC(MID$(calcname1$, calcnameloop, 1)) - 64 ELSE MID$(calcname2$, calcnameloop, 1) = " " END IF NEXT calcnameloop PRINT calcname1$ PRINT calcname2$ PRINT "VALUE: "; calcnamevalue calcnamemonth = calcnamevalue MOD 12: IF calcnamemonth = 0 THEN calcnamemonth = 12 PRINT "MONTH: "; calcnamemonth calcnameday = calcnamevalue IF calcnamemonth = 2 THEN WHILE calcnameday > 28 calcnameday = calcnameday - 28 WEND ELSEIF calcnamemonth = 4 OR calcnamemonth = 6 OR calcnamemonth = 9 OR calcnamemonth = 11 THEN WHILE calcnameday > 30 calcnameday = calcnameday - 30 WEND ELSE WHILE calcnameday > 31 calcnameday = calcnameday - 31 WEND END IF PRINT "DAY: "; calcnameday ' calculate nth day of year IF calcnamemonth = 1 THEN calcnamevalue2 = calcnameday ELSEIF calcnamemonth = 2 THEN calcnamevalue2 = calcnameday + 31 ELSEIF calcnamemonth = 3 THEN calcnamevalue2 = calcnameday + 31 + 28 ELSEIF calcnamemonth = 4 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 ELSEIF calcnamemonth = 5 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 ELSEIF calcnamemonth = 6 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 ELSEIF calcnamemonth = 7 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 + 30 ELSEIF calcnamemonth = 8 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 + 30 + 31 ELSEIF calcnamemonth = 9 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 ELSEIF calcnamemonth = 10 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 ELSEIF calcnamemonth = 11 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 ELSEIF calcnamemonth = 12 THEN calcnamevalue2 = calcnameday + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 END IF PRINT "VALUE2: "; calcnamevalue2 ' add the two calc name values together calcnamevalue3 = calcnamevalue2 + calcnamevalue WHILE calcnamevalue3 > 365 calcnamevalue3 = calcnamevalue3 - 365 WEND PRINT "VALUE3: "; calcnamevalue3 calcnamevalue = calcnamevalue3 ' recalculate the month and day PRINT "Recalculated!" calcnamemonth = 1 calcnameday = calcnamevalue IF calcnamevalue > 334 THEN calcnamemonth = 12: calcnameday = calcnameday - 334 ELSEIF calcnamevalue > 304 THEN calcnamemonth = 11: calcnameday = calcnameday - 304 ELSEIF calcnamevalue > 273 THEN calcnamemonth = 10: calcnameday = calcnameday - 273 ELSEIF calcnamevalue > 243 THEN calcnamemonth = 9: calcnameday = calcnameday - 243 ELSEIF calcnamevalue > 212 THEN calcnamemonth = 8: calcnameday = calcnameday - 212 ELSEIF calcnamevalue > 181 THEN calcnamemonth = 7: calcnameday = calcnameday - 181 ELSEIF calcnamevalue > 151 THEN calcnamemonth = 6: calcnameday = calcnameday - 151 ELSEIF calcnamevalue > 120 THEN calcnamemonth = 5: calcnameday = calcnameday - 120 ELSEIF calcnamevalue > 90 THEN calcnamemonth = 4: calcnameday = calcnameday - 90 ELSEIF calcnamevalue > 59 THEN calcnamemonth = 3: calcnameday = calcnameday - 59 ELSEIF calcnamevalue > 31 THEN calcnamemonth = 2: calcnameday = calcnameday - 31 END IF PRINT "MONTH: "; calcnamemonth PRINT "DAY: "; calcnameday WAITKEY$ DIM inmon AS STRING * 2, inday AS STRING * 2 inday = RIGHT$(STR$(calcnameday+100),2) inmon = RIGHT$(STR$(calcnamemonth+100),2) changeflag& = 1 MID$(buffer(bufbeg&),11, 2) = inmon MID$(buffer(bufbeg&),13, 2) = inday MID$(buffer(bufbeg&),21, 2) = inmon MID$(buffer(bufbeg&),23, 2) = inday MID$(buffer(bufbeg&),31, 2) = inmon MID$(buffer(bufbeg&),33, 2) = inday END SUB |
© 1995-2025. davesfunstuff.com. All Rights Reserved. Reproduction of any part of this website without expressed written consent is prohibited.