in csharp/EPAM.Deltix.HdTime/Formatter.cs [686:712]
private static void CorrectDateTimeFormat(MutableString dateTimeFormat, IDictionary<Int32, String> preciseTimeFormatPositions, Byte timestampModulo)
{
Boolean isZeroModulo = timestampModulo == 0;
if (!isZeroModulo)
{
Int32 cutLength = 0;
foreach (var preciseTimeFormat in preciseTimeFormatPositions)
{
Int32 formatPosition = preciseTimeFormat.Key;
Int32 previousSymbolPosition = formatPosition - 1;
Char previousSymbol = dateTimeFormat[previousSymbolPosition - cutLength];
if (previousSymbol == HdDateTimeFormatter.UpperCaseExtendedDateTimeFormatChar)
{
Int32 dateTimeTicksFormatPosition = formatPosition - HdDateTimeFormatter.DateTimeFormatSymbolsCount;
for (Int32 index = dateTimeTicksFormatPosition; index < formatPosition; index++)
{
dateTimeFormat[index - cutLength] = HdDateTimeFormatter.LowerCaseExtendedDateTimeFormatChar;
}
}
cutLength += preciseTimeFormat.Value.Length;
}
}
}