Ir para conteúdo

POWERED BY:

Arquivado

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

Alex Passos

como gerar data seguintes de vencimentos a partir da data de cadastro

Recommended Posts

Olá,

 

estou querendo gerar data de vencimento a partir da data de cadatro do aluno.

 

ex:

 

data do cadastro: 28/02/xxxx

 

vencimento em 12 meses:

28/03/xxxx

28/04/xxxx

28/05/xxxx

28/06/xxxx

28/07/xxxx

28/08/xxxx

28/09/xxxx

28/10/xxxx

28/11/xxxx

28/12/xxxx

28/01/xxxx

 

 

eu tentei fazer assim:

 

<?php	$a=6;	$b = $a + 12;	for ($a; $a<=$b; $a++) {				if ($a == "13"){			$a = "1";					}		 						echo "mês ".$a."<br>";	}?>

mais esta gerando um loop continuo (sem parar) olha o resultado:

 

mês 6mês 7mês 8mês 9mês 10mês 11mês 12mês 1mês 2mês 3mês 4mês 5mês 6mês 7mês 8mês 9mês 10mês 11mês 12mês 1mês 2

mais queria que quando desse 12 meses parasse o loop.

 

então não consegui gerar as datas de vencimento.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um exemplo ve se ajuda:

 

só você passar a data e a quantidade de meses para a função

 

<?php

function vencimento($data, $meses = integer)
{
if(!preg_match("#\d{2}/\d{2}/\d{4}#", $data)) {
	return false;
}
if(!is_int($meses)) {
	return false;
}
$data = implode("-", array_reverse(explode("/", $data)));	
for($i = 1; $i <= $meses; $i++) {
	$dat[] = date("d/m/Y", strtotime($data ." +$i month"));	
}
return $dat;
}

print_r(vencimento("28/02/2006", 12));

?>

 

resultado:

 

Array
(
[0] => 28/03/2006
[1] => 28/04/2006
[2] => 28/05/2006
[3] => 28/06/2006
[4] => 28/07/2006
[5] => 28/08/2006
[6] => 28/09/2006
[7] => 28/10/2006
[8] => 28/11/2006
[9] => 28/12/2006
[10] => 28/01/2007
[11] => 28/02/2007
)

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um exemplo ve se ajuda:só você passar a data e a quantidade de meses para a função

<?phpfunction vencimento($data, $meses = integer){	if(!preg_match("#\d{2}/\d{2}/\d{4}#", $data)) {		return false;	}	if(!is_int($meses)) {		return false;	}	$data = implode("-", array_reverse(explode("/", $data)));		for($i = 1; $i <= $meses; $i++) {		$dat[] = date("d/m/Y", strtotime($data ." +$i month"));		}	return $dat;}print_r(vencimento("28/02/2006", 12));?>
resultado:
Array(	[0] => 28/03/2006	[1] => 28/04/2006	[2] => 28/05/2006	[3] => 28/06/2006	[4] => 28/07/2006	[5] => 28/08/2006	[6] => 28/09/2006	[7] => 28/10/2006	[8] => 28/11/2006	[9] => 28/12/2006	[10] => 28/01/2007	[11] => 28/02/2007)
Ola Fabio, estava pesquisando sobre datas e ao ver este tópico acho q talvez você possa me ajudar. O que eu to tentando fazer é o seguinte:O usuario entra com uma data (>= data de hoje) e partir desta data eu tenho que pegar 42 datas seguintes que sejam de dias de quinta-feira e sabado. Ele terá que retornar somente as datas que forem de quinta e sabado até completar o total de 42 datas diferentes a partir da data que o usuario mandou. Bom num sei se ficou compreensivel a minha explicação. Tentei fazer um script pra isso utilizando loops e trabalhando com date() e mktime(). Mas estou tendo problemas justamente com os loops...Até mais,Obrigado

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.