RoRo: Dein Schaltjahr?

Beitrag lesen

Hi Vedat,

sj ($jahr) gibt zurück, ob ein Jahr ein Schaltjahr ist

Gibt 1 für ja und 0 für nein zurück.

sub sj {
  my $j = shift;
  my $sj = 0;
  if (($j % 4)==0) {$sj++} #Schaltjahr
  if (($j % 100)==0) {$sj--} #kein Schaltjahr, wenn durch 100 teilbar
  if (($j % 1000)==0) {$sj++} # aber wenn auch durch 1000 teilbar, dann doch Schaltjahr
  return $sj;
}

Deine Formel rechnet falsch.
Richtig wäre:

Schaltjahr

sub is_leapyear{
 my $year = shift;
 my $v = 0;
 if(!$year)  { return "-1" }
 if($year%4==0)   { $v = 1 }
 if($year%100==0) { $v = 0 }
 if($year%400==0) { $v = 1 }
 return $v;
}

Rolf