timeZoneSelect
Purpose
Helper tag for creating HTML selects for selecting from a list of time zones
Examples
// Create a timezone selector
<g:timeZoneSelect name="myTimeZone" value="${tz}" />
Description
Attributes
name
(required) - The name of the select
value
(optional) - An instance of java.util.TimeZone. Defaults to the time zone for the current Locale if not specified
Source
Show Source
def timeZoneSelect = {attrs ->
attrs['from'] = TimeZone.getAvailableIDs();
attrs['value'] = (attrs['value'] ? attrs['value'].ID : TimeZone.getDefault().ID)
def date = new Date() // set the option value as a closure that formats the TimeZone for display
attrs['optionValue'] = {
TimeZone tz = TimeZone.getTimeZone(it);
def shortName = tz.getDisplayName(tz.inDaylightTime(date), TimeZone.SHORT);
def longName = tz.getDisplayName(tz.inDaylightTime(date), TimeZone.LONG); def offset = tz.rawOffset;
def hour = offset / (60 * 60 * 1000);
def min = Math.abs(offset / (60 * 1000)) % 60; return "${shortName}, ${longName} ${hour}:${min}"
} // use generic select
out << select(attrs)
}