Looplex Knowledge Base

PlusMonths

Dada uma data qualquer, o tube plusMonths devolve uma nova data com acréscimo de um número inteiro de meses especificado por argumento.

Formato

plusMonths(data, num)

Parâmetros:

  • data: data a ser processada. Pode ser indicada no formato "DD/MM/AAAA" ou por uma variável do tipo Date. Pode, ainda, ser indicada pelo retorno de outro tube que retorne uma data.
  • num: número de meses a serem acrescentados. Pode ser indicado por um número inteiro, sem o uso de aspas, ou por uma variável do tipo Integer.

Retorno:

  • Retorna uma data que corresponde a data mais num meses.

Exemplos

1. plusMonths com data. Se no momento de elaboração do template já se tem conhecimento da data e do número de meses que será acrescido, sem depender de uma resposta dada pelo usuário, podemos usar o plusMonths da seguinte forma:

plusMonths("05/08/1983", 3)

Como retorno, receberemos o valor "05/11/1983".

2. plusMonths com variáveis. Em um contrato de locação, dada uma data de início do contrato contida em uma variável do tipo Date <dataInicioLocal> e o prazo de validade da locação em meses, contido em uma variável do tipo Integer <validadeEmMeses>, podemos usar o tube plusMonths para calcular a data de encerramento da locação:

print "Cláusula Segunda: O prazo de locação é de " & <validadeEmMeses> & " meses, com início em " & <dataInicioLocacao> & " e término em " & plusMonths(<dataInicioLocacao>, <validadeEmMeses>) & ".""

3. plusMonths com before. No contexto de uma ação trabalhista, combinaremos o tube plusMonths com o before para verificar se a demissão de uma empregada ocorreu durante o período de estabilidade de cinco meses após o parto. Usaremos duas variáveis do tipo Date: <dataParto> e <dataDemissao>, para armazenar as respectivas datas. Caso a demissão tenha ocorrido antes do fim do período de cinco meses, o tube before retornará verdadeiro (true), condicionando o uso do tópico em que será alegada a nulidade da demissão. Vejamos:

if(before(<dataDemissao>, plusMonths(<dataParto>, 5))) {
use TOP_NulidadeDaDemissao
}

Dica: Boas práticas em Lawtex. Por fim, observe-se que, por uma questão de clareza do código, poderíamos substituir o uso do tube plusMonths(<dataParto>, 5) por uma variável oculta, isto é, uma variável cujo valor não é atribuído pelo usuário (não aparece como uma pergunta). Assim, utilizaremos a variável oculta do tipo Date <fimDaEstabilidade> para armazenar o retorno do tube plusMonths. Como resultado, teremos:

operations {
<fimDaEstabilidade> = plusMonths(<dataParto>, 5),
if(before(<dataDemissao>, <fimDaEstabilidade>)) {
TOP_NulidadeDaDemissao
}
}
Edit this page on GitHub