Encuentre el día de la semana usando la congruencia de Zellers en Java
Este artículo muestra cómo podemos usar Java para implementar la congruencia de Zeller para encontrar el día de la semana. Además, veremos un ejemplo con una explicación línea por línea para facilitar el tema.
Encuentre el día de la semana usando la congruencia de Zeller en Java
Recuerda, el algoritmo que estamos usando en este artículo es contar el mes enero
como 13
y el mes febrero
como 14
del año anterior.
Por ejemplo, si una fecha es 13 de enero de 2009
, el algoritmo la contará como el mes 13 de 2008
. En la siguiente valla de código, demostraremos cómo encontrar el día de una semana.
Código de ejemplo:
public class FindDay {
// A method to print a day for a Date
static void ZellerCongruence(int Day, int Month, int Year) {
if (Month == 1) { // Checking the month if it's "January"
Month = 13;
Year--;
}
if (Month == 2) { // Checking the month if it's "February"
Month = 14;
Year--;
}
int DD = Day;
int MM = Month;
int yy = Year % 100;
int YY = Year / 100;
// Calculating the day
int Calc = DD + 13 * (MM + 1) / 5 + yy + yy / 4 + YY / 4 + 5 * YY;
Calc = Calc % 7; // Finding the day
switch (Calc) {
case 0:
System.out.println("The day is: Saturday");
break;
case 1:
System.out.println("The day is: Sunday");
break;
case 2:
System.out.println("The day is: Monday");
break;
case 3:
System.out.println("The day is: Tuesday");
break;
case 4:
System.out.println("The day is: Wednesday");
break;
case 5:
System.out.println("The day is: Thursday");
break;
case 6:
System.out.println("The day is: Friday");
break;
}
}
// Our main class
public static void main(String[] args) {
ZellerCongruence(20, 9, 2022); // The date format is (dd/mm/yyyy)
}
}
Ya hemos descrito el propósito de cada línea. Por lo tanto, ejecutar el código de ejemplo anterior obtendrá el siguiente resultado en su consola.
The day is: Tuesday
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn