Ir para conteúdo
Fórum Script Brasil
  • 0

Calcular Data


alexandremanowar

Pergunta

E a e galera

Eu estou meio perdido em um calculo de data que tenho que fazer.

O calulo é o seguinte o usuário entra com o mê e ano de inicio. e digitar quanto tempo ele quer adicionar em cima do mê e ano de inicio! Esse tempo pode ser em meses ou anos. tipo assim:

Se ele entra com a seguinte data:

06/2006

E informa que será adicinado 4 meses o resultado será:

10/2006

Ou se ele informa que será adicionado 8 meses o resultado será:

02/2007

Se ele entra com a mesma data por exemple e informa que será adicionado 3 anos o resulatado será:

06/2009.

No formulário que fiz o usuário digita a mês e o ano de inicio e o tempo que será adicionado, ao lado tempo tempo que será adicionado tem 2 opções de escolha que são mêses ou anos.

Como eu posso realizar esse calculo? Tudo o que tentei deu errado.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cara valeu pela força!

Estou meio perdido aqui esta dando errado! Esrou fazendo assim para adicionar apenas meses:

$data1 = "$ano_inicio-$mes_inicio-1";
$data2 = "0000-04-01";
$calculo = strtotime("$data2 00:00:00") + strtotime("$data2 00:00:00")
Mas ele esta me dando um número estranho de resultado! Veja: 1149130800 Já tentei assim:
$calculo =  strtotime("+2 month", strtotime("2006-05-31"));
Mas deu o mesmo erro Onde estou errando? --- Estou chegando perto, eu olhei o manual e achei um esquema que quase da certo o único problema é que ao invés de ele pegar o mê e o ano que o usário envia ele pega o mê e ano do sistema. Veja como eu fiz:
$calculo = date("Y-m-01", strtotime($calculo . " + 04 month"));
Dessa forma quase funciona a única falha é que ele pega da data do sistema e não a enviado. Tentei colocar assim:
$calculo = date("$ano_enviado-$mes_enviado-01", strtotime($calculo . " + 04 month"));

Mas ele simplesmente repetiu o valor da variável! Acredito que é porque o date não funciona dessa forma. Alguém sabe como corrigir isso. Já tentei de tudo e ainda não consegui. Preciso de ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

esse resultado estranho, é um timespamp Unix e deve ser utilizado com a função date(), ex:

date("d/m/Y", 1149130800)
vai retornar a data referente a este timestamp. Vou fazer um pequeno script de exemplo pra você:

$data_inicial = "06/2006";
list($mês, $ano) = explode("/", $data_inicial);
$data_final = 8; //somar oito meses

$data_final = mktime(0,0,0, $mês+$data_final); // os parâmetros dia e ano serão colocados automaticamente com o valor padrão (data atual)

echo date("d/m/Y", $data_final); //mostra a data em formato "legível"

http://www.php.net/manual/pt_BR/function.mktime.php

falou!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...