You want to format a date and cast it to a timezone.
The Java DateFormat class can cast a date to a new time zone at the same time as formatting it. This can be accomplished simply by specifying a TimeZone on the DateFormat object.
To format and cast a date to PST:
//Get a Locale. In this case we are going to use Afrikans in South Africa
Locale afrikans = new Locale("af","ZA");
//Get a DateFormat instance.
//We specify length for date and time and a locale to format for.
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, afrikans);
//Get a TimeZone instance for a specified id.
//The ids are Olsen TimeZone ids
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
//Specify the time zone
df.setTimeZone(tz);
//output the format
System.out.println(df.format(new Date()));
Output Example:
viernes 5 de diciembre de 2007 06:49:46 PM PST