, , , , EST (-05: 00), , (-?). ISO-8601-. , 4 ( , ).
, 4 . . US- - 2016-01-01 2016-01-02 (2 - ). 3 , .
: java.time (JSR-310) w, . backport, . :
} else if (cur == 'w') {
if (count > 2) {
throw new IllegalArgumentException("Too many pattern letters: " + cur);
}
appendInternal(new WeekFieldsPrinterParser('w', count));
...
static final class WeekFieldsPrinterParser implements DateTimePrinterParser {
private final char letter;
private final int count;
public WeekFieldsPrinterParser(char letter, int count) {
this.letter = letter;
this.count = count;
}
@Override
public boolean print(DateTimePrintContext context, StringBuilder buf) {
WeekFields weekFields = WeekFields.of(context.getLocale());
DateTimePrinterParser pp = evaluate(weekFields);
return pp.print(context, buf);
}
WeekFields.of(context.getLocale()) "w" .
, Joda-Time ISO-8601-week-definition, , , , , 4 , , ISO-8601 . .
, Joda-Time 1 4 , java.time US-week 2.
, , ISO, , Joda-Time. , Locale.UK, , . . .