AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kalenderwoche Verständisproblem

Ein Thema von Xzeer · begonnen am 3. Feb 2009 · letzter Beitrag vom 4. Feb 2009
 
Benutzerbild von Xzeer
Xzeer

Registriert seit: 6. Jul 2007
106 Beiträge
 
#1

Kalenderwoche Verständisproblem

  Alt 3. Feb 2009, 15:38
Hallo,

Ich möchte mir eine Funktion schreiben, der man ein Datum übergibt und die die zugehörige Kalenderwoche ermittelt. Dabei möchte ich alles frei schreiben, also nicht auf irgendwelche Delphi Objekte zurückgreifen.

Gefunden habe ich zuerst diese Version:

Zitat:
Kalenderwoche = (TagDesJahres / 7) + 1;
if Kalenderwoche = 53 then Kalenderwoch := 1;
Zum berechnen der Variablen TagDesJahres benutze ich folgenden Code (Java):

Zitat:
public int berechneTagImJahr(int jahr, int monat, int tag){
int lmon = (monat +10) / 13;
return ((3055 * (monat + 2)) / 100 - 2 * lmon - 91 + (1 - (jahr - (jahr / 4) * 4 + 3) / 4 + (jahr - (jahr / 100) * 100 + 99) / 100 - (jahr - (jahr /400) * 400 + 399) / 400) * lmon + tag);
Diese Function ist von meinem Info Lehrerund funktioniert auch.

Wenn ich allerdings versuche die Kalenderwoche zu ermitteln kommt für z.b das heutige Datum KW 5 heraus. Das ist ja falsch.

Dann habe ich noch diese Version ausprobiert (Java):

Zitat:
public int berechneKalenderwoche(int jahr, int monat, int tag){
double a = Math.floor((14 - monat) / 120);
double y = jahr + 4800 - a;
double m = monat + (12 * a) - 3;
double jd = tag + Math.floor(((153 * m) + 2) / 5) + (365 * y) + Math.floor(y / 4) - Math.floor(y / 100) + Math.floor(y / 400) - 32045;
double d4 = (jd + 31741 - (jd % 7)) % 146097 % 36524 % 1461;
double L = Math.floor(d4 / 1460);
double d1 = ((d4 - L) % 365) + L;
return (int) Math.floor(d1 / 7) + 1;
}
Allerdings der gleiche Fehler...

Kann mir vielleicht jemand erklären, wie man die KW richtig ausrechnet?
Marvin
Xzeer
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz