private static void validate ( int hours , int minutes , int seconds ) { if ( hours < - 18 || hours > 18 ) { throw new DateTimeException ( "Zone offset hours not in valid range: value " + hours + " is not in the range -18 to 18" ) ; } if ( hours > 0 ) { if ( minutes < 0 || seconds < 0 ) { throw new DateTimeException ( "Zone offset minutes and seconds must be positive because hours is positive" ) ; } } else if ( hours < 0 ) { if ( minutes > 0 || seconds > 0 ) { throw new DateTimeException ( "Zone offset minutes and seconds must be negative because hours is negative" ) ; } } else if ( ( minutes > 0 && seconds < 0 ) || ( minutes < 0 && seconds > 0 ) ) { throw new DateTimeException ( "Zone offset minutes and seconds must have the same sign" ) ; } if ( Math . abs ( minutes ) > 59 ) { throw new DateTimeException ( "Zone offset minutes not in valid range: abs(value) " + Math . abs ( minutes ) + " is not in the range 0 to 59" ) ; } if ( Math . abs ( seconds ) > 59 ) { throw new DateTimeException ( "Zone offset seconds not in valid range: abs(value) " + Math . abs ( seconds ) + " is not in the range 0 to 59" ) ; } if ( Math . abs ( hours ) == 18 && ( Math . abs ( minutes ) > 0 || Math . abs ( seconds ) > 0 ) ) { throw new DateTimeException ( "Zone offset not in valid range: -18:00 to +18:00" ) ; } }
Validates the offset fields .