in java/main/src/main/java/com/epam/deltix/hdtime/Formatters.java [726:748]
static {
fields = DefaultTimeFormatter.fields.clone();
fieldLengths = DefaultTimeFormatter.fieldLengths.clone();
Field f;
// Epoch name (Java, no support for locale)
registerField('G', Integer.MAX_VALUE, new StringField("AD"));
// Epoch name (.NET, no support for locale)
registerSynonymousField('G', 'g');
// Year number (Java & .NET) Java substitution logic is used (y/yyy->yyyy)
registerField('y', 4, f = new YearsField4w04(), f, new YearsField2w02(), f, f);
// Year number (Java)
registerSynonymousField('y', 'u');
// Month number or name (Java & .NET)
registerField('M', Integer.MAX_VALUE, (Formattable)null,
new MonthNumField2(), new MonthNumField2w02(),
new MonthTextField3w3(), new MonthTextField(0));
// Day of month [0..31] (Java & .NET)
registerField('d', 2, f = new DayInMonthField2(), f, new DayInMonthField2w02());
}