Thema: Delphi Schaltjahr

Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#11

Re: Schaltjahr

  Alt 14. Nov 2003, 12:09
Zitat von Luckie:
Und warum ist deine schneller?
Ich glaube, die nehmen sich nicht viel. Echte Unterschiede dürften wohl nur messbar sein, und dann auch nur mit einem extrem genauen Timer.

Zitat:
Ich muss allerdings zu geben, dass sich beide nicht richtig verstehe...
Wieso nicht? Ergibt sich doch aus der Beschreibung eines Schaltjahres:
Delphi-Quellcode:
Result :=
  // das Jahr muss durch 4 ohne Rest
  // teilbar sein

  // 2000 / 4 = 500 (Rest 0)
  // 1900 / 4 = 475 (Rest 0)

  (Year mod 4 = 0)

  // UND
  and

  // es muss mit Rest durch 100
  // teilbar sein

  // 2000 / 100 = 20 (Rest 0) = Bedingung stimmt (noch) nicht
  // 1900 / 100 = 19 (Rest 0) = Bedingung stimmt (noch) nicht

  ((Year mod 100 <> 0)

  // bzw.
    or

  // ohne Rest durch 400

  // 2000 / 400 = 5 (Rest 0) = Bedingung für 2000 stimmt jetzt!
  // 1900 / 400 = 4 (Rest 300) = Bedingung für 1900 stimmt NICHT!

   (Year mod 400 = 0));

  // DANN ist es ein Schaltjahr, und darum war 2000 ein
  // Schaltjahr, aber 1900 nicht
@Phoenix: Ein Array reicht auch. Nimm das normale, mit den 28 Tagen für Februar. Dann holst du dir im ersten Schritt den Tag für den Monat, und im zweiten Schritt prüfst du, ob das Jahr ein Schaltjahr ist und der Monat der Februar - wenn Ja, Tag++ ...
  Mit Zitat antworten Zitat