Visa ett inlägg
Oläst 2008-07-16, 12:16 #7
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Citat:
Originally posted by kullervo@Jul 16 2008, 12:10
"påskdagen: söndagen närmast efter den fullmåne som infaller på eller närmast efter den 21 mars"

Hur skriver man en SQL-sats som får fram det?
Det är nog inte så optimalt att försöka få fram i en SQL-sats, men såhär ser det ut i PHP:

Kod:
function calculate_easter($y) {
  // In the text below, 'intval($var1/$var2)' represents an integer division neglecting
  // the remainder, while % is division keeping only the remainder. So 30/7=4, and 30%7=2
  //
  // This algorithm is from Practical Astronomy With Your Calculator, 2nd Edition by Peter
  // Duffett-Smith. It was originally from Butcher's Ecclesiastical Calendar, published in
  // 1876. This algorithm has also been published in the 1922 book General Astronomy by
  // Spencer Jones; in The Journal of the British Astronomical Association (Vol.88, page
  // 91, December 1977); and in Astronomical Algorithms (1991) by Jean Meeus. 

  $a = $y%19;
  $b = intval($y/100);
  $c = $y%100;
  $d = intval($b/4);
  $e = $b%4;
  $f = intval(($b+8)/25);
  $g = intval(($b-$f+1)/3);
  $h = (19*$a+$b-$d-$g+15)%30;
  $i = intval($c/4);
  $k = $c%4;
  $l = (32+2*$e+2*$i-$h-$k)%7;
  $m = intval(($a+11*$h+22*$l)/451);
  $p = ($h+$l-7*$m+114)%31;
  $EasterMonth = intval(($h+$l-7*$m+114)/31);  // [3 = March, 4 = April]
  $EasterDay = $p+1;  // (day in Easter Month)
  
  return format_date($y, $EasterMonth, $EasterDay);
}
Eller så använder man bara den inbyggda funktionen easter_date
http://se2.php.net/easter_date
Jonathan P är inte uppkopplad   Svara med citatSvara med citat