private static void CorrectDateTimeFormat()

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;
				}
			}
		}