public static LocalTimeValue truncate( TemporalUnit unit, TemporalValue input, MapValue fields, Supplier<ZoneId> defaultZone ) { LocalTime localTime = input.getLocalTimePart(); LocalTime truncatedLT = assertValidUnit( () -> localTime.truncatedTo( unit ) ); if ( fields.size() == 0 ) { return localTime( truncatedLT ); } else { return updateFieldMapWithConflictingSubseconds( fields, unit, truncatedLT, ( mapValue, localTime1 ) -> { if ( mapValue.size() == 0 ) { return localTime( localTime1 ); } else { return build( mapValue.updatedWith( "time", localTime( localTime1 ) ), defaultZone ); } } ); } }
public static LocalTimeValue truncate( TemporalUnit unit, TemporalValue input, MapValue fields, Supplier<ZoneId> defaultZone ) { LocalTime localTime = input.getLocalTimePart(); LocalTime truncatedLT = assertValidUnit( () -> localTime.truncatedTo( unit ) ); if ( fields.size() == 0 ) { return localTime( truncatedLT ); } else { return updateFieldMapWithConflictingSubseconds( fields, unit, truncatedLT, ( mapValue, localTime1 ) -> { if ( mapValue.size() == 0 ) { return localTime( localTime1 ); } else { return build( mapValue.updatedWith( "time", localTime( localTime1 ) ), defaultZone ); } } ); } }