Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexandremanowar

Calcular data

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae belezaMas para usar o strtotime eu sou obrigado a definir dia,mês,anope hora. Ou estou engando? porquie eu já tentei usar ele mas no meu caso não posso declarar dia hora, só mês e ano!Como eu usaria op strtotime nesse caso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara valeu pela força!

 

Estoiu 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

 

Onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí galera continuo apanhando aqui já virei o manual do php de ponta cabeça e nada! Já fiz alguns teste aqui mas cintinua dando um número enorme no resultado. Meu último teste foi esse:

 

$calculo = strtotime("+1 month" , strtotime("2006-06-01"));

 

Mas deu pau do mesmp jeito. Vou continuar tentando se alguém poder me ajudar porta aí por favor

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae pessoal

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae beleza

 

Então cara quanto a isso beleza! O meu problema é que preciso adicionar meses em uma determinada data como mensionei acima. E não estou conseguindo, a data é enviada pelo usuário e a quantidade de meses que será adicionado também. Então você me deu a dica de usar o strtotime e fiz vários testes com ele e p último que chegou mais próximo foi esse:

 

$calculo = date("Y-m-01", strtotime($calculo . " + 04 month"));

 

Ele adiciona o mês perfeitamente o problema é que ele adiciona o mês a partir da data capturada do sistema e não a enviada pelo usuário. Preciso que ele faça isso pela data enviada pelo usuário e não estou conseguindo.

 

Tipo hoje é 10-2006 essa é a data do sistema usando o camando acima ele vai me dar o segunte resultado:

2007-02-01

Ou seja ele adicionou 4 meses perfeitamente porém sobre a data que ele captura do sistema. Mas no meu caso não quero usar a data do sistema e sim a que vem do usuário que é por exemplo 06-2006 logo o resultado seria 10-2006.

 

Ele pega a data do sistema porque esta configurado para isso nessa parte:

date("Y-m-01", .....

Eu tentei alterar e no lugar de Y-m colocar as variáveis que fora carregadas pelo usuário, então fiz assim:

$ano_enviado = 2006;

$mes_enviado = 06;

date("$ano_enviado-$mes_enviado-01",.....

Mas ao invés de me jogar o resulta certo ele simplesmente repete o valor da variáveis e me apresenta: 2006-06-01

 

Você conhece algum modo de arrumar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce nao esta entendendo quando voce usa o date com uma timestamp o date só vai formatar a data para voce, se o seu resultado esta pegando a data atual é porque voce naota passando a data certa, no lugar do $calculo voce tem que passar a data que o usuario escolheu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara consegui! Putz era tão simples e eu tentando coisas complexas rsrsrs

ficou assim igual você falou substituir calculo pela data do usuário:

 

$calculo = date("Y-m-01", strtotime($data_enviada . " + 04 month"));

 

Valeu cara pela paciencia

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.