public static String format(Date self, String format, TimeZone tz) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sdf.setTimeZone(tz);
        return sdf.format(self);
    }
public static String format ( Date self , String format , TimeZone tz ) { SimpleDateFormat sdf = new SimpleDateFormat ( format ) ; sdf . setTimeZone ( tz ) ; return sdf . format ( self ) ; }
<p>Create a String representation of this date according to the given
format pattern and timezone.
<p>
<p>For example:
<code>
def d = new Date(0)
def tz = TimeZone.getTimeZone('GMT')
println d.format('dd/MMM/yyyy', tz)
</code> would return the string
<code>"01/Jan/1970"</code>. See documentation for {@link java.text.SimpleDateFormat}
for format pattern use.
<p>
<p>Note that a new DateFormat instance is created for every
invocation of this method (for thread safety).

@param self   a Date
@param format the format pattern to use according to {@link java.text.SimpleDateFormat}
@param tz     the TimeZone to use
@return a string representation of this date.
@see java.text.SimpleDateFormat
@since 1.8.3