Talk:Determination of the day of the week/Archive 1

Original research that doesn't belong in the article or even really on the talk page
Here's an algorithm I came up with:


 * 1) Take a year, divide it by 400, and take the remainder, since 400 years is a whole number of weeks.  Subtract 1 from this remainder to get a value called the reduced year.
 * 2) Divide the reduced year by 100 and truncate to an integer.  The result is called the century number, and is the number of non-leap century years between the first year in the 400-year period—with a reduced year of 0—and the given year.
 * 3) Divide the reduced year by 4, truncate to an integer, and subtract the century number.  The result is the number of leap years that have elapsed after reduced year 0 and before the given year, called the number of prior leap years.
 * 4) Add the reduced year to the number of prior leap years, divide the result by 7 and take the remainder.  You will end up with a number called the dominical shift value, which is the number of days from the first Sunday of the given year to January 7 of that year.  If January 7 of that year falls on a Sunday, the dominical shift value is 0.
 * 5) Convert a date in the year to its ordinal date and add the dominical shift value.  Add 1 if the year chosen is a leap year and the month chosen is between March and December.
 * 6) Divide the result by 7 and take the remainder.
 * 7) The result is a number between 0 and 6 inclusive that corresponds to the day of the week of the given date in the given year, with Sunday = 0 and Saturday = 6.

Reduced to formulas, the algorithm looks like this:


 * $$ry = (year\,\bmod\,400) - 1$$
 * $$cn = \operatorname{int}\left ( \frac{ry}{100} \right )$$
 * $$ply = \operatorname{int}\left ( \frac{ry}{4} \right ) - cn$$
 * $$dsv = (ply + ry)\,\bmod\,7$$
 * $$dow = (date + leap + dsv)\,\bmod\,7$$

To see this algorithm in action, let's find the day of the week corresponding to March 15, 1990.


 * 1) 1990 reduces to 389.
 * 2) 389 divided by 100 gives a century number of 3.
 * 3) 389 / 4 = 97.25, truncated to 97.  Subtracting 3 gives 94 leap years between 1601 and 1990.
 * 4) 389 + 94 = 483, which when divided by 7 gives a remainder of 0, the dominical shift value for 1990.
 * 5) March 15 is the 74th day of 1990, a non-leap year.  Adding the dominical shift value of 0 gives 74, which when divided by 7, gives a remainder of 4, which corresponds to Thursday, the day March 15, 1990 fell on.

--  Denelson83  20:01, 5 February 2011 (UTC) (amended 20:06, 17 February 2011 (UTC))

Genuine trick to find weekday for a given date
This algorithm, developed by me (Tushar Baviskar), has no limitation at all and is the genuine way to find weekday.You just need to understand the steps thorough and you will surely be able to find day of any date ORALLY.

Suppose we have to find weekday on the date 22/04/1989. Given that current day and date is tuesday and 25/10/2011. Follow the steps given below to achieve this:

Step 1. Find the difference between current year and specified year so 2011-1989=22

Step 2.a) Find the number of leap years during this 22 years  so 22/4=5(consider only whole number,neglect fraction) Step 2.b)      While traversing from current year to specified year,if century is     changing then check whether new century is divisible by 4 or not. In case if its not divisible by 4 then subtract 1 from the result obtained in step 2a. Here 20 is divisible by 4 hence no need to subtract 1 from 5.

Step 3. Add the modulus of results of the above steps 1 and 2b: so 22+5=27

Step 4. Sign convention:Now remember if we are traversing back from current year/month/date to the specified year/month/date then result will have -ve sign else if we are traversing in forward direction then result will have +ve sign.

So result is -27 since here we have reverse traversal from 2011 to 1989.

Step 5. Remember/Calculate the following remainder corresponding to each month. For 28 day month remainder after division by 7 is 0 For 29 day month remainder after division by 7 is 1 For 30 day month remainder after division by 7 is 2 For 31 day month remainder after division by 7 is 3 Now add these remainders, for all those months, between current month and specified month, for whom we have traversed end of month. So Sept+Aug+Jul+Jun+May+Apr =2+3+3+2+3+2=15 Note that we have not considered october here since we have not traversed its end date i.e. 31st oct instead we have considered april as we have traversed its end date.

As per the sign conventions the result is -15

Step 6. Now calculate the difference between current date and specified date 25-22=3

As per the sign conventions the result is -3

Step 7. Now add results of steps 4,5 & 6 and divide sum by 7. So -27-15-3= -45 and -45 % 7= -3 (remainder) Step 8. So to get the weekday of specified date traverse in direction as specified by  the sign by the remainder days (3 days back in this example) from current day Hence the answer is tuesday-3=saturday.

Give ur feedback at tush22kar@gmail.com

Tushar Baviskar, PVGian 14:23, 25 October 2011 (UTC) — Preceding unsigned comment added by Tush22kar (talk • contribs)

A suggestion that there are certain features of the Gregorian calendar which do in any event perhaps permit easy calculation of any year dates
It seems that what is mentioned in the subject line above is not mentioned here or indeed ever dealt with anywhere on the Internet up to the present time and so far as I can make out (and I do not unfortunately happen to be an expert) they are not even dealt with in current published material with any particular clarity, at least in English. The fact surely remains (and I am of course open to contradiction on this Talk Page) that any period of four hundred years in the Gregorian calendar as from the 17th century (commencing 1 January 1600 AD) is so far as I can make out identical (thus the present century, the 21st century, is identical with the 17th century and likewise the following centuries must surely likewise therefore keep in the same order within the continuously repeating period of four hundred years). It being further the case that in each given century of any period of four hundred years the particular calendar form of a period of twentyeight years as from the year divisable by one hundred repeats itself (i.e. with three identical twenty-eight year periods and a further identical section of the first sixteen years of the twenty-eight year period, totalling the one hundred years of the century that is in question). It seems to myself that this should surely be taken into account by the people who believe for whatever reason that the Gregorian calendar should be modified or changed altogether, as is clearly with some persons currently the case, although without many details given as to how this matter is to be given some sort of legal status at an international level (that which must surely in itself be a problem ...) Now it is the case that the particular character of the Gregorian calendar which I have mentioned (character of four hundred years and twenty-eight year period) happens to be the one in which I am myself most interested for a number of purely personal reasons it being the case that I have in mind the creation of an easy-to-use worldwide permanent calendar using the present Gregorian calendar on the basis mentioned and therefore it is of course the case that (admittedly personally) I would like to have all the relevant matters, including this one, which I believe are in favour of the Gregorian calendar in its present form carefully considered if that is ever going to be possible (q.v. also calendar reform). If I ever succeed in publishing this sort of permanent calendar and this is permissible in Wikipedia given my own possible financial concern I hope to give the necessary details here. Meanwhile, if anyone has any comments for or against I shall note them before I proceed with my calendar idea, but this should if possible be provided within the next three or four months as from today 22 April 2012 either on this Talk Page or to myself Peter Judge at my e-mail address peter.judge@laposte.net (it can of course be sent by e-mail in any language but if possible with a subject line in English). Peter Judge — Preceding unsigned comment added by 92.30.153.53 (talk) 09:19, 22 April 2012 (UTC)