Jump to content


Photo

Movable_date()


  • Faça o login para participar
2 replies to this topic

#1 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 05/07/2005, 09:36

Sintaxe: movable_date(int year [, int date, string date_format])
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 &copy; 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 :DAté mais

#2 Serafin

Serafin

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Petrolina-PE
  • Interesses:Tenho Interesses em PHP, JAVA, C++, JAVASCRIPTS, MYQL, ETC

Posted 12/10/2007, 20:50

Olá amigo.....para que serve necessariamente essa funcção...pode me dar um exemplo.....
"!@#$%¨&*()_+NCMR+_)(*&¨%$#@!"

#3 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 18/10/2007, 15:47

Datas móveis são as datas que não "caem" sempre no mesmo dia. Por exemplo Dia dos Pais, que é no segundo domingo do mês. Ou o dia da cerveja que é toda sexta ... :lol:
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq