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











