Curso de Grails & Groovy

Groovy - Manipulação de Datas

Capturando a data atual
//Com tipo explícito
Date data = new Date()

//Out
def data = new Date()
Capturando o próximo dia
def data = new Date()
println data+1
Capturando o dia anterior
def data = new Date()
println data-1
Formatando datas
String dataFormatada = new Date().format("dd/MM/yyyy")
println dataFormatada

String dataHoraFormatada = new Date().format("dd/MM/yyyy HH:mm:ss")
println dataHoraFormatada
Convertendo String em Data
def data = Date.parse('dd/MM/yyyy', '31/12/1980')
Convertendo data para String
//Captura somente a data excluindo a hora
println new Date().getDateString()

//Captura somente a hora excluindo a data
println new Date().getTimeString()

//Captura a data e a hora
println new Date().getDateTimeString()
Convertendo data para timestamp
println new Date().toTimestamp()
Capturando a diferença entre datas
def data1 = Date.parse('dd/MM/yyyy', '31/12/1980')
def data2 = Date.parse('dd/MM/yyyy', '31/12/1990')
println data2-data1
//retorna a diferença em dias entre a data1 e a data2
Capturando uma data sem a hora
//Limpa a hora para 00:00:00
def data = new Date().clearTime()
println data
Capturando ano, mês, dia, dia da semana, hora de uma data
def data = new Date()
//ano da data
println data[Calendar.YEAR]
//mês da data: janeiro é 0, fevereiro é 1, etc.
println data[Calendar.MONTH] 
//dia do mês
println data[Calendar.DATE]
//semana do ano
println data[Calendar.WEEK_OF_YEAR]
Comparando datas
def data1 = Date.parse("dd/MM/yyyy","31/10/1980")
def data2 = Date.parse("dd/MM/yyyy","02/01/1970")
if (data1 > data2){
	println "Data 1 é maior"
}else if (data1 == data2){
	println "Datas iguais"
}else{
	println "Data 2 é maior"
}
Voltar ao ndice