Converting timezone for date using java I have written this method for converting a date time zone. How do i reduce the execution time of this method further.

public static Timestamp convertTimeZone(final Timestamp fromDate, final TimeZone fromTZ, final TimeZone toTZ ){
                Long timeInDate  =  fromDate.getTime() ;
                int fromOffset = fromTZ.getOffset(timeInDate);
                int toOffset = toTZ.getOffset(timeInDate);
                Timestamp dateStamp = new Timestamp(fromDate.getTime());
                if( fromOffset &gt;= 0){
                    int diff = 0;
                    if( toOffset &gt; 0){
                        diff = ( fromOffset - toOffset);
                    }else{
                        diff = ( fromOffset + Math.abs(toOffset));
                    }
                    long date = fromDate.getTime() - diff;
                    dateStamp.setTime( date );
                }else{
                    int diff = 0;
                    if( toOffset &gt; 0){
                        diff = ( Math.abs( fromOffset) + toOffset);
                    }else{
                        diff = ( Math.abs( fromOffset) - Math.abs(toOffset));
                    }
                    long date = fromDate.getTime() + diff;
                    dateStamp.setTime( date );
                }           
                return dateStamp;
            }
The method can be shortened a bit. It'll probably have some effect on perfomance as well.

public static Timestamp convertTimeZone(final Timestamp fromDate, final TimeZone fromTZ, final TimeZone toTZ ){

  // primitive long should be enough for his task
  final long timeInDate = fromDate.getTime();
  final int fromOffset = fromTZ.getOffset(timeInDate);
  final int toOffset = toTZ.getOffset(timeInDate);

  return new Timestamp(timeInDate + (toOffset - fromOffset));
}