jak samodzielnie obliczyc numer dnia w dowolnym roku, PHP Skrypty


[PHP] Jak samodzielnie obliczyć numer dnia w dowolnym roku?

0x01 graphic

Chcesz wyliczyć numer dnia w roku, np. 26 kwietnia 2004 r. będzie 117 dniem w 2004 roku.

0x01 graphic

Poniższy skrypt to raczej ciekawostka i algorytm dla dociekliwych. PHP ma wbudowaną funkcję obliczania dnia w roku, więc z pewnością z niej będziesz korzystać.

Jeżeli jednak zechcesz posłużyć się "ręczną" metodą obliczania dnia roku, przedstawiam ciekawy algorytm:

<?

function dzienroku($dzien, $miesiac, $rok) {

if (!checkdate($miesiac,$dzien,$rok)) return 0;

$n1 = floor(275*$miesiac/9);

$n2 = floor(($miesiac+9)/12);

$n3 = (1+floor(($rok-4*floor($rok/4)+2)/3));

return $n1-($n2*$n3)+$dzien-30;

}

// dla dnia: 26.04.2004:

echo dzienroku(26,4,2004); // wynik: 117

echo date("z")+1; // wynik: 117

?>

Algorytm pochodzi z książki Almanac for Computers, wydanej przez Nautical Almanac Office United States Naval Observatory. Jest bardzo dobry, ponieważ uwzględnia lata przestępne i pozwala liczyć dzień roku zarówno dla dat współczesnych, jak i tych z przeszłości (np. dla roku 876).

W funkcji dzienroku() sprawdzam czy przekazana data istnieje (gdyby ktoś zechciał wpisać np. dzień 31 lutego) i jeżeli data jest błędna funkcja zwraca 0, jeżeli dzień istnieje zwracany jest numer dnia od 0 do 366).

To samo można uzyskać stosując funkcję date() z atrybutem "z", tylko zwraca ona liczbę od 0 do 365, stąd trzeba do niej dodać 1 dzień.



Wyszukiwarka

Podobne podstrony:
Jak wysłać ze strony WWW e-mail z dowolnym załącznikiem, PHP Skrypty
Jak wypisać na ekranie w PHP zawartość dowolnej tabeli, PHP Skrypty
Jak wysłać ze strony WWW e-mail z dowolnym załącznikiem, PHP Skrypty
Jak stworzyć zaawansowany test wyboru lub quiz, PHP Skrypty
jak miedzy stronami przesłać zmienne korzystajac z sesji, PHP Skrypty
Jak zrobić licznik pobrań plików ze strony, PHP Skrypty
Jak zrobić przekierowanie z jednej strony na drugą, PHP Skrypty
jak wypisac zawartosc bazy danych dBase (dbf), PHP Skrypty
Jak dopisać dane na początku pliku tekstowego, PHP Skrypty
Jak wygenerować statyczny plik .html z bazy danych, PHP Skrypty
Jak zamienić liczby na kwoty zapisane słownie, PHP Skrypty
Jak odbierać dane pochodzące z różnych pól formularza, PHP Skrypty
Jak wysłać list do grup dyskusyjnych USENET, PHP Skrypty
jak stworzyc licznik klikniec ze statystyka dzienną, PHP Skrypty
Jak cenzurować wypowiedzi i brzydkie słowa na forum, PHP Skrypty
jak w grafice zmienic wybrane kolory na inne, PHP Skrypty
jak wykonac strone z logowaniem do innej strony, PHP Skrypty
Jak automatycznie pokolorować na przemian wiersze tabeli, PHP Skrypty
Jak stworzyć zaawansowany test wyboru lub quiz, PHP Skrypty

więcej podobnych podstron