Anzeige:
Ergebnis 1 bis 14 von 14

Thema: Errechnen der Wochenzahl?

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Errechnen der Wochenzahl?

    Ich muss gerade nen ewigen Kalender machen, funktioniert soweit schon ganz gut, nur hab ich überhaupt keine Idee nach welchen Regeln die Wochenzahl ermittelt wird.

    Einmal reicht die 52. Woche ins neue Jahr, dann die 53.? Gibts da irgendwo regeln, die das einfach präzisieren?

    Mfg
    Geändert von Lin728 (19-08-2017 um 18:20 Uhr)

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Weiss nicht, kommt halt darauf an, mit welchem Wochentag das Jahr beginnt.

    Vermutlich musst dus etwa so machen:

    Schauen, ob es ein Schaltjahr ist.
    Anzahl Tage minus wieviele Tage in der ersten Woche pro Jahr.
    Verbleibende Anzahl Tage durch 7.
    Erhaltene Zahl auf ganze Zahl abrunden.
    Schon weisst du, wieviele Wochen das Jahr hat.

    MfG Bischi

    PS: Ist jetzt improvisiert, hab keine Ahnung ob es wirklich stimmt!

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665

    Re: Errechnen der Wochenzahl?

    Original geschrieben von ceisserer
    Weiß wer, wann das letzte Schaltjahr war?
    <keine garantie *gg*>um zu berechnen, ob ein jahr ein schaltjahr ist gibt es eine einfache regel - ich gluabe wenn es durch 4 teilbar ist, aber nicht durch 100 dann ist es ein schaltjahr... oderso...</keine garantie *gg*>

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.09.2001
    Beiträge
    1.182

    Grüssi!

    O.K., das mit den Wochen hab ich herausbekommen:

    Die Kalenderwochen werden für Jahre ab 1976 berechnet, da mit Geltung vom 1. Januar 1976 der Wochenbeginn auf Montag festgelegt wurde. Die erste Woche ist definiert als die Woche, in der mindestens 4 der ersten 7 Januartage fallen (also die Woche, in der der 4. Januar liegt). Beides wurde damals festgelegt in der DIN 1355 (1974). Inhaltlich gleich regelt das die Internationale Norm ISO 8601 (1988), die von der Europäischen Union als EN 28601 (1992) übernommen und in Deutschland als DIN EN 28601 (1993) umgesetzt wurde.
    Demzufolge haben die meisten Jahre 52 Wochen. Der jährliche überzählige Tag sowie die Schaltjahre führen aber dazu, daß es alle 5 bis 6 Jahre ein Jahr mit 53 Wochen gibt, so die Jahre 1992, 1998, 2004, 2009, 2015.
    Da es keine "halben" Wochen gibt, gehören manche Tage ihrer Kalenderwoche nach zu einem anderen Jahr als es der üblichen Datumsangabe entspricht (z.B. gehört der 2. Jan. 2000 noch zur 53. Kalenderwoche 1999).
    Und das mit dem Schaltjahr ist einfach: Ich seh mir einfach den Modulo (%) wert eines Schaltjahres durch 4 an, jedes Schaltjahr hat dann diesen %4-Wert...

    Mfg
    Geändert von Lin728 (19-08-2017 um 18:21 Uhr)

  5. #5
    Registrierter Benutzer Avatar von pitu
    Registriert seit
    07.06.2002
    Ort
    Nürnberg
    Beiträge
    142
    Ich hab das als fuer php folgendermassen geloest:

    PHP-Code:
    function getWeek($date){
        
    $week = `date -d $date +%V`;
        return (
    $week);

    Das ist natuerlich etwas abgekuerzt, da ich fuer diese Aufgabe es nicht genauer brauchte.

    Die Kalenderwoche wird nach Din 1355 bestimmt.
    http://www.engelschall.com/~sb/downl...-Calc/DIN1355/

    Dazu muss man wissen, das die erste Woche die ist, die mindestens 4 Kalendertage enthaelt, beginn der woche ist Montag. Dieses Jahr hat z.B. mit einem Mittwoch angefangen, ergo sind 5 Tage der Woche in diesem Jahr.

    Also musst du bestimmen, ab wann die erste Woche anfaengt.

    Wenn die Woche erst im Jahr anfaengt, musst du die vorhergehenden Tage vom Jahr abziehen.

    So, wenn die erste Woche des naechsten Jahres in diesem Jahr anfaengt, dann musst du die letzten Tage auch abziehen.

    Dann teilst du das durch 7 und bekommst entweder 52 oder irgendetwas 52<x<=53.

    Entsprechend hat das Jahr dann entweder 52 oder 53 Kalenderwochen.

    http://www.salesianer.de/util/kalfaq.html#B3
    http://home.nwn.de/hgm/kalender/kal-64.htm

    gruss,
    pitu
    11 Fehler in Windows, 88 Loesungen, 0 funktionieren.

    Dieser Beitrag steht unter der GNU Free Documentation License.

  6. #6
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828

    Re: Grüssi!

    Original geschrieben von ceisserer
    Und das mit dem Schaltjahr ist einfach: Ich seh mir einfach den Modulo (%) wert eines Schaltjahres durch 4 an, jedes Schaltjahr hat dann diesen %4-Wert...

    Mfg Clemens
    Nicht ganz; Brockhaus sagt dazu folgendes:

    Schaltjahr,
    Jahr im Kalender, das im Unterschied zum Gemeinjahr von 365 Tagen einen zusätzlichen Tag (Schalttag) oder Monat (Schaltmonat) enthält, um den Unterschied zwischen reinem Kalenderjahr und (meist) Sonnenjahr auszugleichen; im gregorianischen Kalender jedes vierte Jahr (Schalttag: 29.2.), bei folgenden Regeln: Das betreffende Jahr ist ein Schaltjahr, wenn die Jahreszahl ohne Rest durch 4 teilbar ist; es ist kein Schaltjahr, wenn die Jahreszahl ohne Rest durch 4 und 25 teilbar ist (mit Ausnahme der durch 400 teilbaren Jahre).
    © 2002 Bibliographisches Institut & F. A. Brockhaus AG
    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    du könntest auch versuchen in Java einem Calendar die Wochenzahl auf 53 zu setzen und schauen was er macht oder so

    vielleicht wirft er ja ne exception

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Und die wäre:

    NoSuchYearException, InvalidDataYouWillBeTerminatedException, GreatNewCalendarException?

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  9. #9
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von peschmae
    du könntest auch versuchen in Java einem Calendar die Wochenzahl auf 53 zu setzen und schauen was er macht oder so
    Vielleicht versteh ich die Aufgabenstellung nicht, aber wenn Java als Implementations Framework dient, stellt doch der java.util.Calendar bzw seine Implementationen bereits die Lösung, oder?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  10. #10
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Original geschrieben von bischi
    Und die wäre:

    NoSuchYearException, InvalidDataYouWillBeTerminatedException, GreatNewCalendarException?
    egal. Die Klartextversion davon ist: "Wieso blöd herumrechnen, wenn die Java Klassenbibliothek eh schon ne nette Methode dafür anbietet?"

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  11. #11
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Original geschrieben von anda_skoa
    Vielleicht versteh ich die Aufgabenstellung nicht, aber wenn Java als Implementations Framework dient, stellt doch der java.util.Calendar bzw seine Implementationen bereits die Lösung, oder?
    hat noch was für sich

    Ich bin halt ein fauler Mensch

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  12. #12
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Ich glaube, es ging mehr darum, das ceisserer etwas kreatives machen wollte und dabei gleichzeitig noch lernen wollte, wie ein Kalender so richtig funktioniert (ich hab den Durchblick immer noch nicht 100%).

    Und jetzt kommt ihr und vermiest ihm die ganze Freude an der neu gefundenen Aufgabe!!!

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  13. #13
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von bischi
    Ich glaube, es ging mehr darum, das ceisserer etwas kreatives machen wollte und dabei gleichzeitig noch lernen wollte, wie ein Kalender so richtig funktioniert (ich hab den Durchblick immer noch nicht 100%).
    Ah, ok.
    Dann war aber die Forumlierung nicht so günstig gewählt weil da stand "...Ich muss.."

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  14. #14
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    naja,

    bischi "glaubt" auch nur

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •