public static long roundToHour(final long pTime, final TimeZone pTimeZone) {
        int offset = pTimeZone.getOffset(pTime);
        return ((pTime / HOUR) * HOUR) - offset;
    }
public static long roundToHour ( final long pTime , final TimeZone pTimeZone ) { int offset = pTimeZone . getOffset ( pTime ) ; return ( ( pTime / HOUR ) * HOUR ) - offset ; }
Rounds the given time down to the closest hour, using the given timezone.

@param pTime time
@param pTimeZone the timezone to use when rounding
@return the time rounded to the closest hour.