Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

PHP: Wyznaczanie daty Wielkanocy

wtorek,

PHP: Wyznaczanie daty Wielkanocy

W kościołach zachodnich Wielkanoc przypada w pierwszą niedzielę po pierwszej wiosennej pełni Księżyca (tzw. paschalna pełnia Księżyca) przypadającej po 21 marca, co oznacza, że Wielkanoc wypada pomiędzy 22 marca a 25 kwietnia. Co ciekawe, kościelna pełnia Księżyca różni się od astronomicznej, a jej daty zostały wyznaczone i stabelaryzowane w czasie Soboru Nicejskiego w 325 roku n.e. Nie wygląda to zbyt zachęcająco dla programisty postawionego przed zadaniem wyznaczenia daty Wielkanocy w danym roku.

Z pomocą może przyjść kilka istniejących algorytmów realizujących takie zadanie, jednak poznanie np. metody Gaussa na obliczenie tej daty i jej implementacja w języku PHP zajmie trochę czasu. Na szczęście istnieje fabryczna funkcja, która na podstawie roku ustali dokładną datę Wielkanocy. Funkcja easter_date() zwraca uniksowy znacznik czasu. Początkującemu programiście zwracana wartość reprezentująca liczbę sekund od początku 1970 roku UTC może wydawać się dziwna, jednak w połączeniu z innymi fabrycznymi funkcjami staje się niezwykle „plastyczna”. Przekonasz się o tym, analizując poniższe przykłady.

<?php
   
echo easter_date(2020); // 1586642400
echo date('Y-m-d H:i:s', easter_date(2020)); // 2020-04-12 00:00:00
echo date('Y-m-d', easter_date(2021)); // 2021-04-04

// poniedziałek wielkanocny
echo date('m-d', strtotime('+1 day', easter_date(2020))); // 04-13
// boże ciało
echo date('m-d', strtotime('+60 day', easter_date(2020))); // 06-11

?>

Udział wzięli

easter_date, date, strtotime

Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły