HOWTO · Java

Finden Sie den Wochentag mit Zellers Kongruenz in Java

In diesem Tutorial wird erläutert, wie Sie den Wochentag mithilfe der Zellers-Kongruenz in Java ermitteln.

Dieser Artikel zeigt, wie wir Java verwenden können, um Zellers Kongruenz zu implementieren, um den Wochentag zu finden. Außerdem sehen wir uns ein Beispiel mit einer zeilenweisen Erklärung an, um das Thema zu vereinfachen.

Finden Sie den Wochentag mit Zellers Kongruenz in Java

Denken Sie daran, dass der Algorithmus, den wir in diesem Artikel verwenden, darin besteht, den Monat Januar als 13 und den Monat Februar als 14 des Vorjahres zu zählen.

Wenn ein Datum beispielsweise 13. Januar 2009 ist, zählt der Algorithmus es als 13. Monat 2008. Im folgenden Code Fence demonstrieren wir, wie man den Tag für eine Woche findet.

Beispielcode:

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)
  }
}

Wir haben den Zweck jeder Zeile bereits beschrieben. Daher wird die Ausführung des obigen Beispielcodes die folgende Ausgabe in Ihrer Konsole erhalten.

The day is: Tuesday