Important information about cookies
This website uses it's own and third party cookies to provide a better service. Cookies are not used to collect personal information. If you continue browsing it is considered that you accept this use. For more information, check our cookies policy.

COMPUTING SERVICES
| català | english | español |
Sale of computer equipment
Computer repair and assembly
Network administration and maintenance
Web resources > Calendar > Day of the week

Day of the week


02 December 2024 is Monday


To calculate which day of the week is, we use three PHP functions:
function AnyDeTraspas($any)   To find out if a year is over
function NumeroDiesMes($mes,$any)   To know how many days a specific month has
function DiaDeLaSetmana($data)   To calculate what day of the week is. This is the main function, which uses the previous two.
Wikipedia: Leap year / Gregorian calendar
// PHP function to know if it is a leap year
// Return Boolean: true / false/* Author: arnAu bellavista www.BinariEM.com Gener 2021 */ function AnyDeTraspas($any){ if($any % 4 == 0){ $secular = substr($any, -2); if($secular == '00' and $any % 400 != 0){ return false; }else{ return true; } }else{ return false; } } // Cridem la funció i la guardem una variable boleana $any_de_traspas = AnyDeTraspas('2021');
// PHP Function to know how many days a specific month has
// Retorna el número de diesfunction NumeroDiesMes($mes,$any){ $dies = 0; if( $mes == 1 or $mes == 3 or $mes == 5 or $mes == 7 or $mes == 8 or $mes == 10 or $mes == 12 ){ $dies = 31; }else if( $mes == 4 or $mes == 6 or $mes == 9 or $mes == 11 ){ $dies = 30; }else if($mes == 2){ $any_de_traspas = AnyDeTraspas($any); if($any_de_traspas){ $dies = 29; }else{ $dies = 28; } } return $dies; }
// Main PHP function to know what day of the week is
// Returns a number from 1 to 7 (Monday-Sunday)function DiaDeLaSetmana($data){ list($any,$mes,$dia) = explode('-',$data); // Guardem la data en variables separades $dies_passats = 0; // Dies que han passat des de la data 1-1-1 /* El calendari Gregorià funciona per cicles iguals de 400 anys. L'1 de gener de l'any 1 és dilluns. De manera que l'1 de gener de l'any 401 també és dilluns. Igual per l'any 801, 1201, 1601, 2001... */ // Contem quants anys hi ha des de l'inici del cicle de 400 anys $any400 = $any; $any400 = $any % 400; if($any400 == 0){ $any400 = 400; } $anys_falten = $any400 - 1; // Contem quants dies han passat des de 1-1-1 fins l'any consultat for($i=1; $i<=$anys_falten; $i++){ // Mirem si és any de traspàs o no per sumar els dies corresponents $any_traspas = AnyDeTraspas($i); if($any_traspas){ $dies_passats = $dies_passats + 366; // Sumem un any de traspàs }else{ $dies_passats = $dies_passats + 365; // Sumem un any } } // Contem els dies que falten fins els mes consultat for($i=1; $i<$mes; $i++){ $num_dies_mes = NumeroDiesMes($i,$any400); $dies_passats = $dies_passats + $num_dies_mes; } // Contem els dies que falten fins el dia consultat for($i=0; $i<$dia; $i++){ $dies_passats++; } // Mirem a quin dia de la setmana correspon $dia_setmana = $dies_passats % 7; if($dia_setmana == 0){ // Si és 0 posem 7 perquè és diumgenge $dia_setmana = 7; } return $dia_setmana; }