Retorno: String
Descrição: Para utilizar esta função, basta chamá-la com o parâmetro year (ano desejado) e com o parâmetro opcional date (data desejada). Caso o parâmetro date especificado não esteja na faixa de números permitida, ou seja nulo ou não for especificado, o retorno da função será a data da Páscoa, que é a base de todas as outras datas móveis. Há também outro parâmetro opcional, o date_format, que é o formato de data que deseja retornar.
Bibliotecas: Calendário. Para sistemas Unix-like é necessário compilar com o comando --enable-calendar.
Limitações: PHP 3.0.9+
Função:
<?php /** * Função que informa datas móveis * * @author Paulo Freitas (paulofreitas dot web at gmail dot com) * @copyright Copyright © 2005-2008 Paulo Freitas * @license http://creativecommons.org/licenses/by-sa/3.0 * @version 20080415 * @param int $year o ano de qual deseja retornar a data móvel * @param int $date a data móvel que deseja obter. Quando zero (padrão) ou valor inválido, retorna a data da Páscoa. * @param string $date_format o formato de data que deseja retornar, que por padrão é 'd/m/Y'. A formatação segue o padrão da função date(). * @return string a data requerida */ function movable_date($year, $date = 0, $date_format = 'd/m/Y') { // Domingo de Páscoa $easter_date = easter_date($year); switch ($date) { // Corpus Christi case 1: $request_date = ($easter_date + (60 * 86400)); break; // Pentecostes case 2: $request_date = ($easter_date + (49 * 86400)); break; // Sábado de Aleluia case 3: $request_date = ($easter_date - (1* 86400)); break; // Sexta-feira Santa case 4: $request_date = ($easter_date - (2 * 86400)); break; // Domingo de Ramos case 5: $request_date = ($easter_date - (7 * 86400)); break; // Domingo de Carnaval case 6: $request_date = ($easter_date - (49 * 86400)); break; // Terça-feira de Carnaval case 7: $request_date = ($easter_date - (47 * 86400)); break; // Quarta-feira de Cinzas case 8: $request_date = ($easter_date - (46 * 86400)); break; // Domingo de Páscoa default: $request_date = $easter_date; } return date($date_format, $request_date); } ?>Exemplo de utilização:
<?php print movable_date(2008, 0, 'd/m/Y'); ?>[]s Até mais