diff --git a/kwrechner/kwrechner.cpp b/kwrechner/kwrechner.cpp index 083b122..272cb3c 100644 --- a/kwrechner/kwrechner.cpp +++ b/kwrechner/kwrechner.cpp @@ -125,14 +125,22 @@ int datum::kwBerechnen() kw += 1; } - else + else { offset = (8 - wochentagErste) % 7; + offset = 7 - (offset+1); + } kw += ((tage + offset) / 7); if (kw == 0) - kw = 53; + { + datum datum2(31, 12, jahr - 1); + if (datum2.kwBerechnen() == 52) + kw = 52; + else + kw = 53; + } else if (kw == 53) {