Looplex Knowledge Base
IsWeekend
O tube isWeekend verifica se uma data ocorre no fim de semana.
Formato:
<date>.isWeekend()isWeekend(<date>)
Parâmetros:
- date: Operando do tipo Date ou String no formato dd/MM/aaaa
Retorno:
Retorna booleano true se a data cair em um fim de semana e false caso contrário.
Exemplos:
1. String predefinida.
operations { isWeekend("23/01/2021") }
Retorna
true
.
2. Operando. O tube isWeekend funciona com operandos do tipo Date ou do tipo String, desde que a String respeite o formato dd/mm/aaaa.
declarations { +<date1> : String, +<date2> : Date } operations { <date1>.isWeekend(), <date2>.isWeekend() }
3. Dado um contrato, queremos que o dia do vencimento <data_vencimento>
corresponda sempre a um dia útil. Assim, depois de somar o período de vigência <vigencia>
à data de início do contrato <inicio_contrato>
com o tube plusDays, usamos o tube isWeekend para verificar se a data cai em um final de semana. Caso positivo, adicionaremos um dia até que a data de vencimento caia em um dia útil.
// Atribuição do valor do vencimento: <inicio_contrato> somado ao número de dias de vigência <data_vencimento> = plusDays(<inicio_contrato>, <vigencia>), // Se a data cair em um sábado, precisaremos executar essa operação duas vezes. Por isso, utilizamos um foreach com a indicação de que o loop passará por duas iterações ([0:1]), a iteração 0 e a iteração 1 foreach(<i> IN [0:1]) { // Verifica se cai em final de semana if(<data_vencimento>.isWeekend()) { // Caso caia em final de semana, adiciona-se mais um dia à data de vencimento <data_vencimento> = plusDays(<data_vencimento>, 1) } }