def formatDate = { attrs -> def date
if (attrs.containsKey('date')) {
date = attrs.get('date')
if(date == null) return
}
else {
date = new Date()
} def formatName = attrs.get('formatName')
def format = attrs.get('format') if(!format && formatName) {
format = message(code:formatName)
if(!format) throwTagError("Attribute [formatName] of Tag [formatDate] specifies a format key [$formatName] that does not exist within a message bundle!")
}
elseif (!format) {
format = message(code: "date.format", default: message(code: "default.date.format", default: "yyyy-MM-dd HH:mm:ss z"))
} def locale = RCU.getLocale(request)
def simpleDateFormat = locale ?
new SimpleDateFormat(format, locale) :
new SimpleDateFormat(format) out << simpleDateFormat.format(date)
}