Finden Sie den Wochentag mit Zellers Kongruenz in Java

MD Aminul Islam 12 Oktober 2023
Finden Sie den Wochentag mit Zellers Kongruenz in Java

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
MD Aminul Islam avatar MD Aminul Islam avatar

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

Verwandter Artikel - Java Date