in csharp/EPAM.Deltix.HdTime/Formatter.cs [341:379]
private static Boolean TryFindPreciseTimeFormat(String format, Int32 initialPosition, out Int32 startPosition, out Int32 endPosition)
{
Boolean isFound = false;
startPosition = endPosition = 0;
for (Int32 index = initialPosition; index < format.Length; index++)
{
Char c = format[index];
if (IsNotPreciseTimeFormatSymbol(c))
{
continue;
}
endPosition = FindSequenceEnd(format, index, c);
Int32 sequenceLength = endPosition - index + 1;
if (IsNotPreciseTimeFormat(sequenceLength))
{
index = endPosition;
continue;
}
if (IsNotSupportedFormat(sequenceLength))
{
throw new FormatException("Invalid format.");
}
startPosition = index + DateTimeFormatSymbolsCount;
isFound = true;
break;
}
if (!isFound)
{
endPosition = startPosition = -1;
}
return isFound;
}