Find day of the week for a given date

Write a function that calculates the day of the week for any particular date in the past or future. A typical application is to calculate the day of the week on which someone was born or some other special event occurred.

Following is a simple function suggested by Sakamoto, Lachman, Keith and Craver to calculate day. The following function returns 0 for Sunday, 1 for Monday, etc.

C++

/* A program to find day of a given date */
#include
using namespace std;

int dayofweek(int d, int m, int y)
{
static int t[] = { 0, 3, 2, 5, 0, 3,
5, 1, 4, 6, 2, 4 };
y -= m < 3; return ( y + y / 4 - y / 100 + y / 400 + t[m - 1] + d) % 7; } // Driver Code int main() { int day = dayofweek(30, 8, 2010); cout << day; return 0; } // This is code is contributed // by rathbhupendra [tabby title = "C"]

 /* A program to find day of a given date */ #include    int dayofweek(int d, int m, int y) {     static int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };     y -= m < 3;     return ( y + y/4 - y/100 + y/400 + t[m-1] + d) % 7; }    /* Driver function to test above function */ int main() {     int day = dayofweek(30, 8, 2010);     printf ("%d", day);        return 0; }

Java

 // A program to find day of a given date     class GFG { static int dayofweek(int d, int m, int y) {     int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };     y -= (m < 3) ? 1 : 0;     return ( y + y/4 - y/100 + y/400 + t[m-1] + d) % 7; }    // Driver Program to test above function public static void main(String arg[]) {     int day = dayofweek(30, 8, 2010);     System.out.print(day); } }    // This code is contributed // by Anant Agarwal.

/div>

Python3

 # Python3 program to find day # of a given date    def dayofweek(d, m, y):     t = [ 0, 3, 2, 5, 0, 3,           5, 1, 4, 6, 2, 4 ]     y -= m < 3     return (( y + int(y / 4) - int(y / 100)              + int(y / 400) + t[m - 1] + d) % 7)    # Driver Code day = dayofweek(30, 8, 2010) print(day)    # This code is contributed by Shreyanshi Arun.

C#

 // C# program to find day of a given date  using System;    class GFG {            static int dayofweek(int d, int m, int y)     {         int []t = { 0, 3, 2, 5, 0, 3, 5,                              1, 4, 6, 2, 4 };         y -= (m < 3) ? 1 : 0;                    return ( y + y/4 - y/100 + y/400                           + t[m-1] + d) % 7;     }            // Driver Program to test above function     public static void Main()     {         int day = dayofweek(30, 8, 2010);                    Console.Write(day);      } }    // This code is contributed by Sam007.

PHP



Output : 1 (Monday)

See this for explanation of the above function.