Потребител беседа: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)