Well, I looked a bit harder through the mountain of search returns and found this post:
https://coderanch.com/t/371134/java/java/Calendar-Time-Zones Now its working. I'll copy it here in case someone hits this on a search.
Date time = new Date();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(time.getTime());
SimpleDateFormat formatter = new SimpleDateFormat("h:mm a");
formatter.setTimeZone( TimeZone.getTimeZone( "JST" ) );
formatter.format( cal.getTime() );
Using formatter seems to be the solution.