(Go: >> BACK << -|- >> HOME <<)

Направо към съдържанието

Потребител беседа:Borislav/2003

Съдържанието на страницата не се поддържа на други езици.
от Уикипедия, свободната енциклопедия

Архивирани версии на Потребител беседа:Borislav (±):

Здравей, Борка,

Ето ти две формули за откриване кой ден от седмицата започва годината:

<?php
function is_leap($n) { 
  if ($n > 1582) {  
    if ($n % 4 == 0 && ($n%100>0 || $n%400==0)  ) 
      return 1; // $n е високосна
    else return 0;
  } else {  
    if ($n % 4 == 0) return 1; // $n е високосна
    else return 0;
  }
}

// returns 0=неделя, 1=понед. и т.н.
function get_day($annee, $mois=1, $jour=1) { 
// дава всяка дата; auduteau($godina) дава 1 януари; 
// formule trouve'e sur auduteau.net, en JavaScript/php par moi.
  $a = floor((14 - $mois) / 12);
  $y = $annee - $a;
  $m = $mois + 12 * $a - 2;
  $dateNb = $jour + 100 * $mois + 10000 * $annee;

  if ($dateNb <= 15821004)//  Calendrier Julien:
    $d = (5 + $jour + $y + floor($y/4) + floor((31*$m)/12)) % 7;
  else
    if ($dateNb >= 15821015)//  Calendrier Grйgorien:
      $d = ( $jour + $y + floor($y/4) - floor($y/100) + floor($y/400) 
                   + floor((31*$m)/12) ) % 7;
    else $d = -1;//спец. календар за 1582 г.
  return $d;
}
?>

За годините преди н.е. няма смисъл, те не са точни. То и след това не са: консулът в Ница, който закача пролетното равноденствие на 21 март е през 365 г., но календарът е всъщност фиксиран чак през 525; преди това има доста грешки: напр. годините 1-6 са били всичките нормални, а между 459 и 464 имало 4 високосни години!! 5ko 10:55, 27 дек 2003 (UTC)

Петко, благодаря ти за кода! --Borislav 13:05, 27 дек 2003 (UTC)