Ir para o conteúdo

* * * * * 1 votos

Somar Quantidade De Dia À Uma Data Qualquer


Criado por Tayron Miranda, Nov 25 2011 10:47

4 respostas neste tópico
  • Por favor, faça o login para responder

#1 Tayron Miranda

Tayron Miranda
  • Tayron Miranda
  • Colaborador
  • 11 Revisões
  • LocalizaçãoBelo Horizonte - MG

Revisou 25 novembro 2011 - 10:47


   /**

    * Soma quantidade de dias a data atual

    * 12/11/2011 + 3 dias = 15/11/2011

    *

    * @author Tayron Miranda <falecom@tayronmiranda.com.br>

    * @param  {interget} $dia Numero de dias

    * @param  {string}   $tipo 1 para formato aaaa-mm-dd e 2 para formato dd/mm/aaaa

    * @return data formatada + acrescimo dos dias

    * @since  12/07/2010

    */

    function somarDiaDataAtual( $dia, $tipo )

    {

        // $tipo (1 para formato do DB e 2 para formato PT-BR)

        $timestamp  = '86400' * $dia + mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) );

        $formato    = ( $tipo == 1 ) ? 'Y-m-d': 'd/m/Y';

        return date( $formato, $timestamp );

    }


Analista e Desenvolvedor Web
www.tayron.com.br | www.vagacolaborativa.com.br


#2 Carlos Coelho

Carlos Coelho
  • Carlos Coelho
  • Colaborador
  • 11 Revisões
  • LocalizaçãoGravataí - RS

Revisou 04 dezembro 2011 - 19:15

Eu faria usando a classe DateTime

Podendo inserir a data de início, o tempo de intervalo e o formato de saída.


<?php

$current_date = new DateTime( ); // 2011-12-04 20:13:35
$current_date->add( new DateInterval( 'P3D' ) );
echo $current_date->format( 'Y-m-d H:i:s' ); // 2011-12-07 20:13:35


O conhecimento incompleto das potencialidades de uma linguagem de programação, pode conduzir a raciocínios (e conseqüentes projetos) relativamente limitados.

#3 Tayron Miranda

Tayron Miranda
  • Tayron Miranda
  • Colaborador
  • 11 Revisões
  • LocalizaçãoBelo Horizonte - MG

Revisou 06 dezembro 2011 - 07:45

:rolleyes: Preciso estudar mais sobre essa classe...

Analista e Desenvolvedor Web
www.tayron.com.br | www.vagacolaborativa.com.br


#4 Gremio10

Gremio10
  • Gremio10
  • Colaborador
  • 12 Revisões
  • LocalizaçãoPorto Alegre

Revisou 06 dezembro 2011 - 22:35

Ou até mesmo

echo date( "Y-m-d", strtotime( "+ 1 month" ) );

:)
Felipe Pieretti Umpierre

@FelipeUmpierre

www.creativeideas.com.br

#5 ursolouco

ursolouco
  • ursolouco
  • Colaborador
  • 2 Revisões

Revisou 05 janeiro 2012 - 16:44


<?php    

/**

 * somarDiaDataAtual()

 *

 * Retorna uma data calculada e formatada com base na data atual.

 *

 * @param int $dias Número de dias a ser adicionado a data atual.

 * @param mixed $tipo Formato de retorno da data (1 para formato de banco de dados)

 * @return string

 * @author Wellington Rodrigues <ursolouco@msn.com>

 */

function somarDiaDataAtual( $dias, $tipo = 1) 

{ 

    $timestamp  = mktime( 0, 0, 0, date( 'm' ), date( 'd' ) + $dias, date( 'Y' ) ); 

    $formato    = ( $tipo == 1 ) ? 'Y-m-d': 'd/m/Y'; 

    return date( $formato, $timestamp ); 

}



//teste.php

error_reporting( E_ALL & ~E_NOTICE | E_STRICT );



date_default_timezone_set('America/Sao_Paulo');



echo '<pre>';



print_r( somarDiaDataAtual( 10, 1 )  );



echo '</pre>';










1 usuário(s) está(ão) lendo este código

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