in csharp/EPAM.Deltix.HdTime/Formatters.cs [656:680]
static DateTime()
{
fields = (IFormattable[][])DefaultTimeFormatter.fields.Clone();
fieldLengths = (int[])DefaultTimeFormatter.fieldLengths.Clone();
Field f;
// Epoch name (Java, no support for locale)
RegisterField('G', Int32.MaxValue, 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', Int32.MaxValue, (IFormattable)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());
}