public DateTimeFormatterBuilder appendValue (TemporalField field, int minWidth, int maxWidth, SignStyle signStyle)

Appends the value of a date-time field to the formatter providing full control over formatting.

The value of the field will be output during a format. If the value cannot be obtained then an exception will be thrown.

This method provides full control of the numeric formatting, including zero-padding and the positive/negative sign.

The parser for a variable width value such as this normally behaves greedily, accepting as many digits as possible. This behavior can be affected by 'adjacent value parsing'. See appendValue(java.time.temporal.TemporalField, int) for full details.

In strict parsing mode, the minimum number of parsed digits is minWidth and the maximum is maxWidth. In lenient parsing mode, the minimum number of parsed digits is one and the maximum is 19 (except as limited by adjacent value parsing).

If this method is invoked with equal minimum and maximum widths and a sign style of NOT_NEGATIVE then it delegates to appendValue(TemporalField,int). In this scenario, the formatting and parsing behavior described there occur.

Parameters:
field    the field to append, not null
minWidth    the minimum field width of the printed field, from 1 to 19
maxWidth    the maximum field width of the printed field, from 1 to 19
signStyle    the positive/negative output style, not null

Returns:  this, for chaining, not null

Exceptions:
IllegalArgumentException    if the widths are invalid