Jump to content
Fórum Script Brasil
  • 0

Calcular Data


alexandremanowar
 Share

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.7k
×
×
  • Create New...